Example usage for com.jgoodies.forms.builder DefaultFormBuilder DefaultFormBuilder

List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder DefaultFormBuilder

Introduction

In this page you can find the example usage for com.jgoodies.forms.builder DefaultFormBuilder DefaultFormBuilder.

Prototype

public DefaultFormBuilder(FormLayout layout) 

Source Link

Document

Constructs a DefaultFormBuilder for the given layout.

Usage

From source file:net.sf.jabref.gui.preftabs.FileSortTab.java

License:Open Source License

public FileSortTab(JabRefPreferences prefs) {
    this.prefs = prefs;
    FormLayout layout = new FormLayout("4dlu, left:pref, 4dlu, fill:pref", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.leadingColumnOffset(1);//ww  w . j  a  v a 2  s.c  o m

    // EXPORT SORT ORDER
    // create Components
    exportInOriginalOrder = new JRadioButton(Localization.lang("Export entries in their original order"));
    exportInTableOrder = new JRadioButton(Localization.lang("Export in current table sort order"));
    exportInSpecifiedOrder = new JRadioButton(Localization.lang("Export entries ordered as specified"));

    ButtonGroup buttonGroup = new ButtonGroup();
    buttonGroup.add(exportInOriginalOrder);
    buttonGroup.add(exportInTableOrder);
    buttonGroup.add(exportInSpecifiedOrder);

    ActionListener listener = new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            boolean selected = e.getSource() == exportInSpecifiedOrder;
            exportOrderPanel.setEnabled(selected);
        }
    };
    exportInOriginalOrder.addActionListener(listener);
    exportInTableOrder.addActionListener(listener);
    exportInSpecifiedOrder.addActionListener(listener);

    // create GUI
    builder.appendSeparator(Localization.lang("Export sort order"));
    builder.append(exportInOriginalOrder, 1);
    builder.nextLine();
    builder.append(exportInTableOrder, 1);
    builder.nextLine();
    builder.append(exportInSpecifiedOrder, 1);
    builder.nextLine();

    exportOrderPanel = new SaveOrderConfigDisplay();
    builder.append(exportOrderPanel.getPanel());
    builder.nextLine();

    // COMBINE EVERYTHING
    JPanel pan = builder.getPanel();
    pan.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
    setLayout(new BorderLayout());
    add(pan, BorderLayout.CENTER);
}

From source file:net.sf.jabref.gui.preftabs.FileTab.java

License:Open Source License

public FileTab(JabRefFrame frame, JabRefPreferences prefs) {
    this.prefs = prefs;
    this.frame = frame;

    openLast = new JCheckBox(Localization.lang("Open last edited databases at startup"));
    backup = new JCheckBox(Localization.lang("Backup old file when saving"));
    autoSave = new JCheckBox(Localization.lang("Autosave"));
    promptBeforeUsingAutoSave = new JCheckBox(
            Localization.lang("Prompt before recovering a database from an autosave file"));
    autoSaveInterval = new JSpinner(new SpinnerNumberModel(1, 1, 60, 1));
    valueDelimiter = new JComboBox<>(new String[] { Localization.lang("Quotes") + ": \", \"",
            Localization.lang("Curly Brackets") + ": {, }" });
    resolveStringsAll = new JRadioButton(Localization.lang("Resolve strings for all fields except") + ":");
    resolveStringsStandard = new JRadioButton(
            Localization.lang("Resolve strings for standard BibTeX fields only"));
    ButtonGroup bg = new ButtonGroup();
    bg.add(resolveStringsAll);//  w ww  . j  a va2s. co m
    bg.add(resolveStringsStandard);

    // This is sort of a quick hack
    newlineSeparator = new JComboBox<>(new String[] { "CR", "CR/LF", "LF" });

    reformatFileOnSaveAndExport = new JCheckBox(
            Localization.lang("Always reformat .bib file on save and export"));

    bracesAroundCapitalsFields = new JTextField(25);
    nonWrappableFields = new JTextField(25);
    doNotResolveStringsFor = new JTextField(30);

    autoSave.addChangeListener(e -> {
        autoSaveInterval.setEnabled(autoSave.isSelected());
        promptBeforeUsingAutoSave.setEnabled(autoSave.isSelected());
    });

    FormLayout layout = new FormLayout("left:pref, 4dlu, fill:pref", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);

    builder.appendSeparator(Localization.lang("General"));
    builder.nextLine();
    builder.append(openLast, 3);
    builder.nextLine();
    builder.append(backup, 3);
    builder.nextLine();

    JLabel label = new JLabel(
            Localization.lang("Store the following fields with braces around capital letters") + ":");
    builder.append(label);
    builder.append(bracesAroundCapitalsFields);
    builder.nextLine();
    label = new JLabel(Localization.lang("Do not wrap the following fields when saving") + ":");
    builder.append(label);
    builder.append(nonWrappableFields);
    builder.nextLine();
    builder.append(resolveStringsStandard, 3);
    builder.nextLine();
    builder.append(resolveStringsAll);
    builder.append(doNotResolveStringsFor);
    builder.nextLine();

    JLabel lab = new JLabel(Localization.lang("Newline separator") + ":");
    builder.append(lab);
    builder.append(newlineSeparator);
    builder.nextLine();

    builder.append(reformatFileOnSaveAndExport, 3);
    builder.nextLine();

    builder.appendSeparator(Localization.lang("Autosave"));
    builder.append(autoSave, 1);
    JButton help = new HelpAction(HelpFiles.autosaveHelp).getHelpButton();
    help.setPreferredSize(new Dimension(24, 24));
    JPanel hPan = new JPanel();
    hPan.setLayout(new BorderLayout());
    hPan.add(help, BorderLayout.EAST);
    builder.append(hPan);
    builder.nextLine();
    builder.append(Localization.lang("Autosave interval (minutes)") + ":");
    builder.append(autoSaveInterval);
    builder.nextLine();
    builder.append(promptBeforeUsingAutoSave);
    builder.nextLine();

    JPanel pan = builder.getPanel();
    pan.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
    setLayout(new BorderLayout());
    add(pan, BorderLayout.CENTER);
}