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

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

Introduction

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

Prototype

public JComponent appendSeparator(String text) 

Source Link

Document

Adds a separator with the given text that spans all columns.

Usage

From source file:jgnash.ui.wizards.imports.ImportTwo.java

License:Open Source License

private void layoutMainPanel() {
    initComponents();/*from   w w w  .j  a va 2s.c  om*/

    FormLayout layout = new FormLayout("p, 8dlu, d:g", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout, this);

    builder.appendSeparator(rb.getString("Title.ModImportTrans"));
    builder.nextLine();
    builder.appendRelatedComponentsGapRow();
    builder.nextLine();
    builder.appendRow(RowSpec.decode("p"));
    builder.append(helpPane, 3);

    builder.nextLine();
    builder.appendRelatedComponentsGapRow();
    builder.nextLine();

    builder.appendRow(RowSpec.decode("f:85dlu:g"));
    builder.append(new JScrollPane(table), 3);

    builder.nextLine();
    builder.appendRelatedComponentsGapRow();
    builder.nextLine();

    builder.append(deleteButton);
}

From source file:jgnash.ui.wizards.imports.jgnash.ImportZero.java

License:Open Source License

private void layoutMainPanel() {
    initComponents();/*  w w w .ja  v a  2s  .  c  o m*/
    FormLayout layout = new FormLayout("p, 8dlu, f:d:g, 4dlu, p", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout, this);

    builder.appendSeparator(rb.getString("Title.FileImport"));
    builder.nextLine();
    builder.appendRelatedComponentsGapRow();
    builder.nextLine();
    builder.append(helpPane, 3);
    builder.nextLine();
    builder.appendRelatedComponentsGapRow();
    builder.nextLine();
    builder.append(rb.getString("Label.FileName"), fileImportField, fileImportButton);
    builder.nextLine();
    builder.append(validFileLabel, 5);
}

From source file:jgnash.ui.wizards.imports.qif.PartialOne.java

License:Open Source License

private void layoutMainPanel() {
    initComponents();// www .j ava 2s .  com

    FormLayout layout = new FormLayout("p, 8dlu, 85dlu:g", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout, this);

    builder.appendSeparator(rb.getString("Title.SelDestAccount"));
    builder.nextLine();
    builder.appendRelatedComponentsGapRow();
    builder.nextLine();
    builder.appendRow(RowSpec.decode("p"));
    builder.append(helpPane, 3);

    builder.nextLine();
    builder.appendRelatedComponentsGapRow();
    builder.nextLine();
    builder.append(rb.getString("Label.DestAccount"), accountCombo);
    builder.nextLine();
    builder.append(rb.getString("Label.DateFormat"), dateFormatCombo);
}

From source file:jgnash.ui.wizards.imports.qif.PartialTwo.java

License:Open Source License

private void layoutMainPanel() {
    initComponents();//from w  w w  . j a va2  s.com

    FormLayout layout = new FormLayout("p, 8dlu, d:g", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout, this);

    builder.appendSeparator(rb.getString("Title.ModQIFTrans"));
    builder.nextLine();
    builder.appendRelatedComponentsGapRow();
    builder.nextLine();
    builder.appendRow(RowSpec.decode("p"));
    builder.append(helpPane, 3);

    builder.nextLine();
    builder.appendRelatedComponentsGapRow();
    builder.nextLine();

    builder.appendRow(RowSpec.decode("f:85dlu:g"));
    builder.append(new JScrollPane(table), 3);

    builder.nextLine();
    builder.appendRelatedComponentsGapRow();
    builder.nextLine();

    builder.append(deleteButton);
}

From source file:net.pms.encoders.VLCVideo.java

License:Open Source License

@Override
public JComponent config() {
    // Apply the orientation for the locale
    Locale locale = new Locale(configuration.getLanguage());
    ComponentOrientation orientation = ComponentOrientation.getOrientation(locale);
    String colSpec = FormLayoutUtil.getColSpec("right:pref, 3dlu, pref:grow, 7dlu, right:pref, 3dlu, pref:grow",
            orientation);/*from  w  w  w  .j  av  a  2  s .com*/
    FormLayout layout = new FormLayout(colSpec, "");
    // Here goes my 3rd try to learn JGoodies Form
    layout.setColumnGroups(new int[][] { { 1, 5 }, { 3, 7 } });
    DefaultFormBuilder mainPanel = new DefaultFormBuilder(layout);

    mainPanel.appendSeparator(Messages.getString("VlcTrans.1"));
    mainPanel.append(experimentalCodecs = new JCheckBox(Messages.getString("VlcTrans.3"),
            configuration.isVlcExperimentalCodecs()), 3);
    experimentalCodecs.setContentAreaFilled(false);
    experimentalCodecs.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            configuration.setVlcExperimentalCodecs(e.getStateChange() == ItemEvent.SELECTED);
        }
    });
    mainPanel.append(audioSyncEnabled = new JCheckBox(Messages.getString("VlcTrans.4"),
            configuration.isVlcAudioSyncEnabled()), 3);
    audioSyncEnabled.setContentAreaFilled(false);
    audioSyncEnabled.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            configuration.setVlcAudioSyncEnabled(e.getStateChange() == ItemEvent.SELECTED);
        }
    });
    mainPanel.nextLine();

    // Developer stuff. Theoretically is temporary 
    mainPanel.appendSeparator(Messages.getString("VlcTrans.10"));

    // Add scale as a subpanel because it has an awkward layout
    mainPanel.append(Messages.getString("VlcTrans.11"));
    FormLayout scaleLayout = new FormLayout("pref,3dlu,pref", "");
    DefaultFormBuilder scalePanel = new DefaultFormBuilder(scaleLayout);
    double startingScale = Double.valueOf(configuration.getVlcScale());
    scalePanel.append(scale = new JTextField(String.valueOf(startingScale)));
    final JSlider scaleSlider = new JSlider(JSlider.HORIZONTAL, 0, 10, (int) (startingScale * 10));
    scalePanel.append(scaleSlider);
    scaleSlider.addChangeListener(new ChangeListener() {
        @Override
        public void stateChanged(ChangeEvent ce) {
            String value = String.valueOf((double) scaleSlider.getValue() / 10);
            scale.setText(value);
            configuration.setVlcScale(value);
        }
    });
    scale.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            String typed = scale.getText();
            if (!typed.matches("\\d\\.\\d")) {
                return;
            }
            double value = Double.parseDouble(typed);
            scaleSlider.setValue((int) (value * 10));
            configuration.setVlcScale(String.valueOf(value));
        }
    });
    mainPanel.append(scalePanel.getPanel(), 3);

    // Audio sample rate
    FormLayout sampleRateLayout = new FormLayout(
            "right:pref, 3dlu, right:pref, 3dlu, right:pref, 3dlu, left:pref", "");
    DefaultFormBuilder sampleRatePanel = new DefaultFormBuilder(sampleRateLayout);
    sampleRateOverride = new JCheckBox(Messages.getString("VlcTrans.17"),
            configuration.getVlcSampleRateOverride());
    sampleRatePanel.append(Messages.getString("VlcTrans.18"), sampleRateOverride);
    sampleRate = new JTextField(configuration.getVlcSampleRate(), 8);
    sampleRate.setEnabled(configuration.getVlcSampleRateOverride());
    sampleRate.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            configuration.setVlcSampleRate(sampleRate.getText());
        }
    });
    sampleRatePanel.append(Messages.getString("VlcTrans.19"), sampleRate);
    sampleRateOverride.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            boolean checked = e.getStateChange() == ItemEvent.SELECTED;
            configuration.setVlcSampleRateOverride(checked);
            sampleRate.setEnabled(checked);
        }
    });

    mainPanel.nextLine();
    mainPanel.append(sampleRatePanel.getPanel(), 7);

    // Extra options
    mainPanel.nextLine();
    mainPanel.append(Messages.getString("VlcTrans.20"), extraParams = new JTextField(), 5);

    return mainPanel.getPanel();
}

From source file:net.sf.jabref.AdvancedTab.java

License:Open Source License

public AdvancedTab(JabRefPreferences prefs, HelpDialog diag, JabRef jabRef) {
    this.jabRef = jabRef;
    preferences = prefs;//from   ww  w  .j  a  v a  2 s. c o  m
    this.remotePreferences = new RemotePreferences(preferences);

    HelpAction remoteHelp = new HelpAction(diag, GUIGlobals.remoteHelp, "Help",
            GUIGlobals.getIconUrl("helpSmall"));
    useDefault = new JCheckBox(Globals.lang("Use other look and feel"));
    useRemoteServer = new JCheckBox(Globals.lang("Listen for remote operation on port") + ':');
    useNativeFileDialogOnMac = new JCheckBox(Globals.lang("Use native file dialog"));
    filechooserDisableRename = new JCheckBox(Globals.lang("Disable file renaming in non-native file dialog"));
    useIEEEAbrv = new JCheckBox(Globals.lang("Use IEEE LaTeX abbreviations"));
    biblatexMode = new JCheckBox(Globals.lang("BibLaTeX mode"));
    remoteServerPort = new JTextField();
    String[] possibleLookAndFeels = { "com.jgoodies.plaf.plastic.Plastic3DLookAndFeel",
            "com.sun.java.swing.plaf.windows.WindowsLookAndFeel",
            "com.sun.java.swing.plaf.motif.MotifLookAndFeel", "javax.swing.plaf.mac.MacLookAndFeel",
            "com.sun.java.swing.plaf.gtk.GTKLookAndFeel", "javax.swing.plaf.metal.MetalLookAndFeel" };
    // Only list L&F which are available
    List<String> lookAndFeels = new ArrayList<String>();
    for (String lf : possibleLookAndFeels) {
        try {
            // Try to find L&F, throws exception if not successful
            Class.forName(lf);
            lookAndFeels.add(lf);
        } catch (ClassNotFoundException ignored) {
        }
    }
    className = new JComboBox(lookAndFeels.toArray(new String[lookAndFeels.size()]));
    className.setEditable(true);
    final JComboBox clName = className;
    useDefault.addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(ChangeEvent e) {
            clName.setEnabled(((JCheckBox) e.getSource()).isSelected());
        }
    });
    useConvertToEquation = new JCheckBox(
            Globals.lang("Prefer converting subscripts and superscripts to equations rather than text"));
    useCaseKeeperOnSearch = new JCheckBox(
            Globals.lang("Add {} to specified title words on search to keep the correct case"));
    useUnitFormatterOnSearch = new JCheckBox(Globals
            .lang("Format units by adding non-breaking separators and keeping the correct case on search"));

    FormLayout layout = new FormLayout("1dlu, 8dlu, left:pref, 4dlu, fill:3dlu", //, 4dlu, fill:pref",// 4dlu, left:pref, 4dlu",
            "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    JPanel pan = new JPanel();

    if (!Globals.ON_MAC) {
        builder.appendSeparator(Globals.lang("Look and feel"));
        JLabel lab = new JLabel(
                Globals.lang("Default look and feel") + ": " + UIManager.getSystemLookAndFeelClassName());
        builder.nextLine();
        builder.append(pan);
        builder.append(lab);
        builder.nextLine();
        builder.append(pan);
        builder.append(useDefault);
        builder.nextLine();
        builder.append(pan);
        JPanel pan2 = new JPanel();
        lab = new JLabel(Globals.lang("Class name") + ':');
        pan2.add(lab);
        pan2.add(className);
        builder.append(pan2);
        builder.nextLine();
        builder.append(pan);
        lab = new JLabel(Globals
                .lang("Note that you must specify the fully qualified class name for the look and feel,"));
        builder.append(lab);
        builder.nextLine();
        builder.append(pan);
        lab = new JLabel(
                Globals.lang("and the class must be available in your classpath next time you start JabRef."));
        builder.append(lab);
        builder.nextLine();
    }
    builder.appendSeparator(Globals.lang("Remote operation"));
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(new JLabel("<html>"
            + Globals.lang("This feature lets new files be opened or imported into an "
                    + "already running instance of JabRef<BR>instead of opening a new instance. For instance, this "
                    + "is useful when you open a file in JabRef<br>from your web browser."
                    + "<BR>Note that this will prevent you from running more than one instance of JabRef at a time.")
            + "</html>"));
    builder.nextLine();
    builder.append(new JPanel());

    JPanel p = new JPanel();
    p.add(useRemoteServer);
    p.add(remoteServerPort);
    p.add(remoteHelp.getIconButton());
    builder.append(p);

    //if (Globals.ON_MAC) {
    builder.nextLine();
    builder.appendSeparator(Globals.lang("File dialog"));
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(useNativeFileDialogOnMac);
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(filechooserDisableRename);
    //}
    // IEEE
    builder.nextLine();
    builder.appendSeparator(Globals.lang("Search IEEEXplore"));
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(useIEEEAbrv);

    builder.nextLine();
    builder.appendSeparator(Globals.lang("BibLaTeX mode"));
    builder.append(new JPanel());
    builder.append(biblatexMode);

    builder.nextLine();
    builder.appendSeparator(Globals.lang("Import conversions"));
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(useConvertToEquation);
    builder.nextLine();
    builder.append(pan);
    builder.append(useCaseKeeperOnSearch);
    builder.nextLine();
    builder.append(pan);
    builder.append(useUnitFormatterOnSearch);

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

}

From source file:net.sf.jabref.AppearancePrefsTab.java

License:Open Source License

/**
 * Customization of appearance parameters.
 *
 * @param prefs a <code>JabRefPreferences</code> value
 *///from w w  w .  j a va2  s  .c om
public AppearancePrefsTab(JabRefPreferences prefs) {
    _prefs = prefs;
    setLayout(new BorderLayout());

    // Font sizes:
    fontSize = new JTextField(5);

    // Row padding size:
    rowPadding = new JTextField(5);

    colorCodes = new JCheckBox(Globals.lang("Color codes for required and optional fields"));
    /*antialias = new JCheckBox(Globals.lang
          ("Use antialiasing font"));*/
    overrideFonts = new JCheckBox(Globals.lang("Override default font settings"));

    showGrid = new JCheckBox(Globals.lang("Show gridlines"));

    //useCustomIconTheme = new JCheckBox(Globals.lang("Use custom icon theme"));
    //customIconThemeFile = new JTextField();
    FormLayout layout = new FormLayout(
            "1dlu, 8dlu, left:pref, 4dlu, fill:pref, 4dlu, fill:60dlu, 4dlu, fill:pref", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.leadingColumnOffset(2);
    JLabel lab;
    builder.appendSeparator(Globals.lang("General"));
    JPanel p1 = new JPanel();
    lab = new JLabel(Globals.lang("Menu and label font size") + ":");
    p1.add(lab);
    p1.add(fontSize);
    builder.append(p1);
    builder.nextLine();
    builder.append(overrideFonts);
    builder.nextLine();
    builder.appendSeparator(Globals.lang("Table appearance"));
    //builder.append(antialias);
    //builder.nextLine();
    JPanel p2 = new JPanel();
    p2.add(new JLabel(Globals.lang("Table row height padding") + ":"));
    p2.add(rowPadding);
    builder.append(p2);
    builder.nextLine();
    builder.append(colorCodes);
    builder.nextLine();
    builder.append(showGrid);
    builder.nextLine();
    JButton fontButton = new JButton(Globals.lang("Set table font"));
    builder.append(fontButton);
    builder.nextLine();
    builder.appendSeparator(Globals.lang("Table and entry editor colors"));
    builder.append(colorPanel);
    //builder.appendSeparator(Globals.lang("Custom icon theme"));
    //builder.append(useCustomIconTheme);
    //builder.nextLine();
    //JPanel p2 = new JPanel();
    //lab = new JLabel(Globals.lang("Custom icon theme file")+":");
    //p2.add(lab);
    //p2.add(customIconThemeFile);
    //BrowseAction browse = new BrowseAction(null, customIconThemeFile, false);
    //JButton browseBut = new JButton(Globals.lang("Browse"));
    //browseBut.addActionListener(browse);
    //p2.add(browseBut);
    //builder.append(p2);

    JPanel upper = new JPanel(), sort = new JPanel(), namesp = new JPanel(), iconCol = new JPanel();
    GridBagLayout gbl = new GridBagLayout();
    upper.setLayout(gbl);
    sort.setLayout(gbl);
    namesp.setLayout(gbl);
    iconCol.setLayout(gbl);

    overrideFonts.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            fontSize.setEnabled(overrideFonts.isSelected());
        }
    });

    fontButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            Font f = new FontSelectorDialog(null, GUIGlobals.CURRENTFONT).getSelectedFont();
            if (f != null) {
                font = f;
            }
        }
    });
    /*menuFontButton.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
         Font f=new FontSelectorDialog
             (null, menuFont).getSelectedFont();
         if(f==null)
             return;
         else
             menuFont = f;
     }
     });*/

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

From source file:net.sf.jabref.ExternalTab.java

License:Open Source License

public ExternalTab(JabRefFrame frame, PrefsDialog3 prefsDiag, JabRefPreferences prefs, HelpDialog helpDialog) {
    _prefs = prefs;/*  ww w.j  a v  a 2s.  c  o  m*/
    _frame = frame;
    setLayout(new BorderLayout());

    psDir = new JTextField(25);
    pdfDir = new JTextField(25);
    fileDir = new JTextField(25);
    bibLocationAsFileDir = new JCheckBox(Globals.lang("Allow file links relative to each bib file's location"));
    bibLocAsPrimaryDir = new JCheckBox(Globals.lang("Use the bib file location as primary file directory"));
    bibLocAsPrimaryDir.setToolTipText(Globals.lang("When downloading files, or moving linked files to the "
            + "file directory, prefer the bib file location rather than the file directory set above"));
    bibLocationAsFileDir.addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(ChangeEvent changeEvent) {
            bibLocAsPrimaryDir.setEnabled(bibLocationAsFileDir.isSelected());
        }
    });
    JButton editFileTypes = new JButton(Globals.lang("Manage external file types"));
    runAutoFileSearch = new JCheckBox(
            Globals.lang("When opening file link, search for matching file if no link is defined"));
    allowFileAutoOpenBrowse = new JCheckBox(
            Globals.lang("Automatically open browse dialog when creating new file link"));
    regExpTextField = new JTextField(25);
    useRegExpComboBox = new JRadioButton(Globals.lang("Use Regular Expression Search"));
    ItemListener regExpListener = new ItemListener() {

        @Override
        public void itemStateChanged(ItemEvent e) {
            regExpTextField.setEditable(useRegExpComboBox.isSelected());
        }
    };
    useRegExpComboBox.addItemListener(regExpListener);

    editFileTypes.addActionListener(ExternalFileTypeEditor.getAction(prefsDiag));

    ButtonGroup bg = new ButtonGroup();
    bg.add(matchExactKeyOnly);
    bg.add(matchStartsWithKey);
    bg.add(useRegExpComboBox);

    BrowseAction browse;

    FormLayout layout = new FormLayout("1dlu, 8dlu, left:pref, 4dlu, fill:150dlu, 4dlu, fill:pref", "");

    DefaultFormBuilder builder = new DefaultFormBuilder(layout);

    builder.appendSeparator(Globals.lang("External file links"));
    JPanel pan = new JPanel();
    builder.append(pan);
    /**
     * Fix for [ 1749613 ] About translation
     * 
     * https://sourceforge.net/tracker/index.php?func=detail&aid=1749613&group_id=92314&atid=600306
     * 
     * Cannot really use %0 to refer to the file type, since this ruins translation.
     */
    JLabel lab = new JLabel(Globals.lang("Main file directory") + ':');
    builder.append(lab);
    builder.append(fileDir);
    browse = BrowseAction.buildForDir(_frame, fileDir);
    builder.append(new JButton(browse));
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(bibLocationAsFileDir, 3);
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(bibLocAsPrimaryDir, 3);
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(matchStartsWithKey, 3);
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(matchExactKeyOnly, 3);
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(useRegExpComboBox);
    builder.append(regExpTextField);

    HelpAction helpAction = new HelpAction(helpDialog, GUIGlobals.regularExpressionSearchHelp,
            Globals.lang("Help on Regular Expression Search"), GUIGlobals.getIconUrl("helpSmall"));
    builder.append(helpAction.getIconButton());
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(runAutoFileSearch, 3);
    builder.nextLine();
    builder.append(new JPanel());
    builder.append(allowFileAutoOpenBrowse);
    builder.nextLine();

    builder.appendSeparator(Globals.lang("Sending of emails"));
    builder.append(new JPanel());
    lab = new JLabel(Globals.lang("Subject for sending an email with references").concat(":"));
    builder.append(lab);
    emailSubject = new JTextField(25);
    builder.append(emailSubject);
    builder.nextLine();
    builder.append(new JPanel());
    openFoldersOfAttachedFiles = new JCheckBox(Globals.lang("Automatically open folders of attached files"));
    builder.append(openFoldersOfAttachedFiles);
    builder.nextLine();

    builder.appendSeparator(Globals.lang("Legacy file fields"));
    pan = new JPanel();
    builder.append(pan);
    builder.append(new JLabel("<html>" + Globals.lang("Note that these settings are used for the legacy "
            + "<b>pdf</b> and <b>ps</b> fields only.<br>For most users, setting the <b>Main file directory</b> "
            + "above should be sufficient.") + "</html>"), 5);
    builder.nextLine();
    pan = new JPanel();
    builder.append(pan);
    lab = new JLabel(Globals.lang("Main PDF directory") + ':');
    builder.append(lab);
    builder.append(pdfDir);
    browse = BrowseAction.buildForDir(_frame, pdfDir);
    builder.append(new JButton(browse));
    builder.nextLine();

    pan = new JPanel();
    builder.append(pan);
    lab = new JLabel(Globals.lang("Main PS directory") + ':');
    builder.append(lab);
    builder.append(psDir);
    browse = BrowseAction.buildForDir(_frame, psDir);
    builder.append(new JButton(browse));
    builder.nextLine();
    builder.appendSeparator(Globals.lang("External programs"));

    builder.nextLine();

    JPanel butpan = new JPanel();
    butpan.setLayout(new GridLayout(2, 3));
    addSettingsButton(new PushToLyx(), butpan);
    addSettingsButton(new PushToEmacs(), butpan);
    addSettingsButton(new PushToWinEdt(), butpan);
    addSettingsButton(new PushToVim(), butpan);
    addSettingsButton(new PushToLatexEditor(), butpan);
    addSettingsButton(new PushToTeXstudio(), butpan);
    builder.append(new JPanel());
    builder.append(butpan, 3);

    builder.nextLine();
    builder.append(pan);
    builder.append(editFileTypes);

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

}

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

License:Open Source License

public FileSortTab(JabRefFrame frame, JabRefPreferences prefs) {
    this._prefs = prefs;
    FormLayout layout = new FormLayout("4dlu, left:pref, 4dlu, fill:pref", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.leadingColumnOffset(1);/*from  w w w.j  ava  2s.  c  o  m*/

    { // SAVE SORT ORDER
      // create Components
        saveInOriginalOrder = new JRadioButton(Globals.lang("Save entries in their original order"));
        saveInTableOrder = new JRadioButton(Globals.lang("Save in current table sort order"));
        saveInSpecifiedOrder = new JRadioButton(Globals.lang("Save entries ordered as specified"));

        ButtonGroup bg = new ButtonGroup();
        bg.add(saveInOriginalOrder);
        bg.add(saveInTableOrder);
        bg.add(saveInSpecifiedOrder);

        ActionListener listener = new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                boolean selected = e.getSource() == saveInSpecifiedOrder;
                savePriSort.setEnabled(selected);
                savePriField.setEnabled(selected);
                savePriDesc.setEnabled(selected);
                saveSecSort.setEnabled(selected);
                saveSecField.setEnabled(selected);
                saveSecDesc.setEnabled(selected);
                saveTerSort.setEnabled(selected);
                saveTerField.setEnabled(selected);
                saveTerDesc.setEnabled(selected);
            }
        };
        saveInOriginalOrder.addActionListener(listener);
        saveInTableOrder.addActionListener(listener);
        saveInSpecifiedOrder.addActionListener(listener);

        ArrayList<String> v = new ArrayList<String>(Arrays.asList(BibtexFields.getAllFieldNames()));
        v.add(BibtexFields.KEY_FIELD);
        Collections.sort(v);
        String[] allPlusKey = v.toArray(new String[v.size()]);
        savePriSort = new JComboBox(allPlusKey);
        saveSecSort = new JComboBox(allPlusKey);
        saveTerSort = new JComboBox(allPlusKey);

        savePriField = new JTextField(10);
        saveSecField = new JTextField(10);
        saveTerField = new JTextField(10);

        savePriSort.insertItemAt(Globals.lang("<select>"), 0);
        saveSecSort.insertItemAt(Globals.lang("<select>"), 0);
        saveTerSort.insertItemAt(Globals.lang("<select>"), 0);

        savePriSort.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (savePriSort.getSelectedIndex() > 0) {
                    savePriField.setText(savePriSort.getSelectedItem().toString());
                    savePriSort.setSelectedIndex(0);
                }
            }
        });
        saveSecSort.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (saveSecSort.getSelectedIndex() > 0) {
                    saveSecField.setText(saveSecSort.getSelectedItem().toString());
                    saveSecSort.setSelectedIndex(0);
                }
            }
        });
        saveTerSort.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (saveTerSort.getSelectedIndex() > 0) {
                    saveTerField.setText(saveTerSort.getSelectedItem().toString());
                    saveTerSort.setSelectedIndex(0);
                }
            }
        });

        savePriDesc = new JCheckBox(Globals.lang("Descending"));
        saveSecDesc = new JCheckBox(Globals.lang("Descending"));
        saveTerDesc = new JCheckBox(Globals.lang("Descending"));

        // create GUI
        JLabel lab;

        builder.appendSeparator(Globals.lang("Save sort order"));
        builder.append(saveInOriginalOrder, 1);
        builder.nextLine();
        builder.append(saveInTableOrder, 1);
        builder.nextLine();
        builder.append(saveInSpecifiedOrder, 1);
        builder.nextLine();

        // Create a new panel with its own FormLayout for these items:
        FormLayout layout2 = new FormLayout("right:pref, 8dlu, fill:pref, 4dlu, fill:60dlu, 4dlu, left:pref",
                "");
        DefaultFormBuilder builder2 = new DefaultFormBuilder(layout2);
        lab = new JLabel(Globals.lang("Primary sort criterion"));
        builder2.append(lab);
        builder2.append(savePriSort);
        builder2.append(savePriField);
        builder2.append(savePriDesc);
        builder2.nextLine();
        lab = new JLabel(Globals.lang("Secondary sort criterion"));
        builder2.append(lab);
        builder2.append(saveSecSort);
        builder2.append(saveSecField);
        builder2.append(saveSecDesc);
        builder2.nextLine();
        lab = new JLabel(Globals.lang("Tertiary sort criterion"));
        builder2.append(lab);
        builder2.append(saveTerSort);
        builder2.append(saveTerField);
        builder2.append(saveTerDesc);

        JPanel saveSpecPanel = builder2.getPanel();
        builder.append(saveSpecPanel);
        builder.nextLine();
    }

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

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

        ActionListener listener = new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                boolean selected = e.getSource() == exportInSpecifiedOrder;
                exportPriSort.setEnabled(selected);
                exportPriField.setEnabled(selected);
                exportPriDesc.setEnabled(selected);
                exportSecSort.setEnabled(selected);
                exportSecField.setEnabled(selected);
                exportSecDesc.setEnabled(selected);
                exportTerSort.setEnabled(selected);
                exportTerField.setEnabled(selected);
                exportTerDesc.setEnabled(selected);
            }
        };
        exportInOriginalOrder.addActionListener(listener);
        exportInTableOrder.addActionListener(listener);
        exportInSpecifiedOrder.addActionListener(listener);

        ArrayList<String> v = new ArrayList<String>(Arrays.asList(BibtexFields.getAllFieldNames()));
        v.add(BibtexFields.KEY_FIELD);
        Collections.sort(v);
        String[] allPlusKey = v.toArray(new String[v.size()]);
        exportPriSort = new JComboBox(allPlusKey);
        exportSecSort = new JComboBox(allPlusKey);
        exportTerSort = new JComboBox(allPlusKey);

        exportPriField = new JTextField(10);
        exportSecField = new JTextField(10);
        exportTerField = new JTextField(10);

        exportPriSort.insertItemAt(Globals.lang("<select>"), 0);
        exportSecSort.insertItemAt(Globals.lang("<select>"), 0);
        exportTerSort.insertItemAt(Globals.lang("<select>"), 0);

        exportPriSort.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (exportPriSort.getSelectedIndex() > 0) {
                    exportPriField.setText(exportPriSort.getSelectedItem().toString());
                    exportPriSort.setSelectedIndex(0);
                }
            }
        });
        exportSecSort.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (exportSecSort.getSelectedIndex() > 0) {
                    exportSecField.setText(exportSecSort.getSelectedItem().toString());
                    exportSecSort.setSelectedIndex(0);
                }
            }
        });
        exportTerSort.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (exportTerSort.getSelectedIndex() > 0) {
                    exportTerField.setText(exportTerSort.getSelectedItem().toString());
                    exportTerSort.setSelectedIndex(0);
                }
            }
        });

        exportPriDesc = new JCheckBox(Globals.lang("Descending"));
        exportSecDesc = new JCheckBox(Globals.lang("Descending"));
        exportTerDesc = new JCheckBox(Globals.lang("Descending"));

        // create GUI
        JLabel lab;

        builder.appendSeparator(Globals.lang("Export sort order"));
        builder.append(exportInOriginalOrder, 1);
        builder.nextLine();
        builder.append(exportInTableOrder, 1);
        builder.nextLine();
        builder.append(exportInSpecifiedOrder, 1);
        builder.nextLine();

        // Create a new panel with its own FormLayout for these items:
        FormLayout layout2 = new FormLayout("right:pref, 8dlu, fill:pref, 4dlu, fill:60dlu, 4dlu, left:pref",
                "");
        DefaultFormBuilder builder2 = new DefaultFormBuilder(layout2);
        lab = new JLabel(Globals.lang("Primary sort criterion"));
        builder2.append(lab);
        builder2.append(exportPriSort);
        builder2.append(exportPriField);
        builder2.append(exportPriDesc);
        builder2.nextLine();
        lab = new JLabel(Globals.lang("Secondary sort criterion"));
        builder2.append(lab);
        builder2.append(exportSecSort);
        builder2.append(exportSecField);
        builder2.append(exportSecDesc);
        builder2.nextLine();
        lab = new JLabel(Globals.lang("Tertiary sort criterion"));
        builder2.append(lab);
        builder2.append(exportTerSort);
        builder2.append(exportTerField);
        builder2.append(exportTerDesc);

        builder.append(builder2.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.FileTab.java

License:Open Source License

public FileTab(JabRefFrame frame, JabRefPreferences prefs) {
    _prefs = prefs;//w w  w.  j a v  a  2s .c o m
    _frame = frame;

    HelpAction autosaveHelp = new HelpAction(frame.helpDiag, GUIGlobals.autosaveHelp, "Help",
            GUIGlobals.getIconUrl("helpSmall"));
    openLast = new JCheckBox(Globals.lang("Open last edited databases at startup"));
    backup = new JCheckBox(Globals.lang("Backup old file when saving"));
    autoSave = new JCheckBox(Globals.lang(JabRefPreferences.AUTO_SAVE));
    promptBeforeUsingAutoSave = new JCheckBox(
            Globals.lang("Prompt before recovering a database from an autosave file"));
    autoSaveInterval = new JSpinner(new SpinnerNumberModel(1, 1, 60, 1));
    valueDelimiter = new JComboBox(
            new String[] { Globals.lang("Quotes") + ": \", \"", Globals.lang("Curly Brackets") + ": {, }" });
    includeEmptyFields = new JCheckBox(Globals.lang("Include empty fields"));
    sameColumn = new JCheckBox(Globals.lang("Start field contents in same column"));
    camelCase = new JCheckBox(Globals
            .lang("Use camel case for field names (e.g., \"HowPublished\" instead of \"howpublished\")"));
    resolveStringsAll = new JRadioButton(Globals.lang("Resolve strings for all fields except") + ":");
    resolveStringsStandard = new JRadioButton(Globals.lang("Resolve strings for standard BibTeX fields only"));
    ButtonGroup bg = new ButtonGroup();
    bg.add(resolveStringsAll);
    bg.add(resolveStringsStandard);

    //for LWang_AdjustableFieldOrder
    //        ButtonGroup bgFieldOrderStyle=new ButtonGroup();
    //        sortFieldInAlphabetaOrder = new JRadioButton(Globals.lang("Sort fields in alphabeta order (as ver >= 2.10)"));
    //        unSortFieldStyle = new JRadioButton(Globals.lang("Do not sort fields (as ver<=2.9.2)"));
    //        orderAsUserDefined= new JRadioButton(Globals.lang("Save fields as user defined order"));
    //        bgFieldOrderStyle.add(sortFieldInAlphabetaOrder);
    //        bgFieldOrderStyle.add(unSortFieldStyle);
    //        bgFieldOrderStyle.add(orderAsUserDefined);

    userDefinedFieldOrder = new JTextField(_prefs.get(JabRefPreferences.WRITEFIELD_USERDEFINEDORDER)); //need to use JcomboBox in the future

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

    bracesAroundCapitalsFields = new JTextField(25);
    nonWrappableFields = new JTextField(25);
    doNotResolveStringsFor = new JTextField(30);
    autoDoubleBraces = new JCheckBox(
            //+ Globals.lang("Store fields with double braces, and remove extra braces when loading.<BR>"
            //+ "Double braces signal that BibTeX should preserve character case.") + "</HTML>");
            Globals.lang("Remove double braces around BibTeX fields when loading."));

    autoSave.addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(ChangeEvent changeEvent) {
            autoSaveInterval.setEnabled(autoSave.isSelected());
            promptBeforeUsingAutoSave.setEnabled(autoSave.isSelected());
        }
    });

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

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

    JLabel label = new JLabel(
            Globals.lang("Store the following fields with braces around capital letters") + ":");
    builder.append(label);
    builder.append(bracesAroundCapitalsFields);
    builder.nextLine();
    label = new JLabel(Globals.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(Globals.lang("Newline separator") + ":");
    builder.append(lab);
    builder.append(newlineSeparator);
    builder.nextLine();

    builder.appendSeparator(Globals.lang("Autosave"));
    builder.append(autoSave, 1);
    JButton hlp = new JButton(autosaveHelp);
    hlp.setText(null);
    hlp.setPreferredSize(new Dimension(24, 24));
    JPanel hPan = new JPanel();
    hPan.setLayout(new BorderLayout());
    hPan.add(hlp, BorderLayout.EAST);
    builder.append(hPan);
    builder.nextLine();
    builder.append(Globals.lang("Autosave interval (minutes)") + ":");
    builder.append(autoSaveInterval);
    builder.nextLine();
    builder.append(promptBeforeUsingAutoSave);
    builder.nextLine();
    builder.appendSeparator(Globals.lang("Field saving options"));
    builder.nextLine();
    builder.append(camelCase);
    builder.nextLine();
    builder.append(sameColumn);
    /*FormLayout layout2 = new FormLayout(
        "left:pref, 8dlu, fill:pref", "");
    DefaultFormBuilder builder2 = new DefaultFormBuilder(layout2);
    builder2.append(new JLabel(Globals.lang("Field value delimiter. E.g., \"author={x}\" or \"author='x'\"") + ":"));
    builder2.append(valueDelimiter);
    builder.nextLine();
    builder.append(builder2.getPanel());*/
    builder.append(new JPanel());
    builder.nextLine();
    builder.append(includeEmptyFields);
    builder.append(new JPanel());
    builder.nextLine();

    wrapFieldLine = new JCheckBox(Globals.lang("Wrap fields as ver 2.9.2"));
    builder.append(wrapFieldLine);
    builder.nextLine();
    //for LWang_AdjustableFieldOrder
    String[] _rbs0 = { "Sort fields in alphabeta order (as ver 2.10)",
            "Sort fields in old fasion (as ver 2.9.2)", "Save fields as user defined order" };
    ArrayList<String> _rbs = new ArrayList<String>();
    for (String _rb : _rbs0) {
        _rbs.add(Globals.lang(_rb));
    }
    bgFieldOrderStyle = createRadioBg(_rbs);
    userDefinedFieldOrder = new JTextField(_prefs.get(JabRefPreferences.WRITEFIELD_USERDEFINEDORDER)); //need to use JcomboBox in the future
    createAdFieldOrderBg(builder, bgFieldOrderStyle, userDefinedFieldOrder);
    //        builder.append(sortFieldInAlphabetaOrder);
    //        builder.nextLine();
    //        builder.append(unSortFieldStyle);
    //        builder.nextLine();
    //        builder.append(orderAsUserDefined);
    //        builder.append(userDefinedFieldOrder);
    //        builder.nextLine();

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