Example usage for com.jgoodies.forms.builder ButtonStackBuilder addGlue

List of usage examples for com.jgoodies.forms.builder ButtonStackBuilder addGlue

Introduction

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

Prototype

public ButtonStackBuilder addGlue() 

Source Link

Document

Adds a glue that will be given the extra space, if this box is larger than its preferred size.

Usage

From source file:ai.aitia.meme.utils.FormsUtils.java

License:Open Source License

/**
 * Example:<pre>// w w  w  .  j  a va2s.c  o  m
 *    buttonStack( jMoveUpButton, jMoveDownButton, FormsUtils.BS_UNRELATED, 
 *                jRemoveButton, jEditButton ).getPanel()
 * </pre>
 */
public static ButtonStackBuilder buttonStack(Object... args) {
    ButtonStackBuilder ans = new ButtonStackBuilder();
    boolean addrel = false;
    for (int i = 0; i < args.length; ++i) {
        if (args[i] instanceof javax.swing.JComponent) {
            if (addrel)
                ans.addRelatedGap();
            ans.addGridded((javax.swing.JComponent) args[i]);
            addrel = true;
        } else if (BS_UNRELATED.equals(args[i])) {
            ans.addUnrelatedGap();
            addrel = false;
        } else if (BS_GLUE.equals(args[i])) {
            ans.addGlue();
            addrel = false;
        } else {
            ans.addStrut(Sizes.constant(args[i].toString(), false));
            addrel = false;
        }
    }
    return ans;
}

From source file:net.sf.jabref.gui.journals.ManageJournalsPanel.java

License:Open Source License

public ManageJournalsPanel(final JabRefFrame frame) {
    this.frame = frame;

    personalFile.setEditable(false);//from  w  w  w  .  ja  va  2s . c  om

    ButtonGroup group = new ButtonGroup();
    group.add(newFile);
    group.add(oldFile);
    addExtPan.setLayout(new BorderLayout());
    JButton addExt = new JButton(IconTheme.JabRefIcon.ADD.getIcon());
    addExtPan.add(addExt, BorderLayout.EAST);
    addExtPan.setToolTipText(Localization.lang("Add"));
    FormLayout layout = new FormLayout("1dlu, 8dlu, left:pref, 4dlu, fill:200dlu:grow, 4dlu, fill:pref",
            "pref, pref, pref, 20dlu, 20dlu, fill:200dlu, 4dlu, pref");
    FormBuilder builder = FormBuilder.create().layout(layout);

    builder.addSeparator(Localization.lang("Built-in journal list")).xyw(2, 1, 6);
    JLabel description = new JLabel(
            "<HTML>" + Localization.lang("JabRef includes a built-in list of journal abbreviations.") + "<br>"
                    + Localization.lang(
                            "You can add additional journal names by setting up a personal journal list,<br>as "
                                    + "well as linking to external journal lists.")
                    + "</HTML>");
    description.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0));
    builder.add(description).xyw(2, 2, 6);
    JButton viewBuiltin = new JButton(Localization.lang("View"));
    builder.add(viewBuiltin).xy(7, 2);
    builder.addSeparator(Localization.lang("Personal journal list")).xyw(2, 3, 6);

    builder.add(newFile).xy(3, 4);
    builder.add(newNameTf).xy(5, 4);
    JButton browseNew = new JButton(Localization.lang("Browse"));
    builder.add(browseNew).xy(7, 4);
    builder.add(oldFile).xy(3, 5);
    builder.add(personalFile).xy(5, 5);
    JButton browseOld = new JButton(Localization.lang("Browse"));
    builder.add(browseOld).xy(7, 5);

    userPanel.setLayout(new BorderLayout());
    builder.add(userPanel).xyw(2, 6, 4);
    ButtonStackBuilder butBul = new ButtonStackBuilder();
    butBul.addButton(add);
    butBul.addButton(remove);

    butBul.addGlue();
    builder.add(butBul.getPanel()).xy(7, 6);

    builder.addSeparator(Localization.lang("External files")).xyw(2, 8, 6);
    externalFilesPanel.setLayout(new BorderLayout());

    setLayout(new BorderLayout());
    builder.getPanel().setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
    add(builder.getPanel(), BorderLayout.NORTH);
    add(externalFilesPanel, BorderLayout.CENTER);
    ButtonBarBuilder bb = new ButtonBarBuilder();
    bb.addGlue();
    JButton ok = new JButton(Localization.lang("OK"));
    bb.addButton(ok);
    JButton cancel = new JButton(Localization.lang("Cancel"));
    bb.addButton(cancel);
    bb.addUnrelatedGap();

    JButton help = new HelpAction(HelpFiles.journalAbbrHelp).getHelpButton();
    bb.addButton(help);
    bb.addGlue();
    bb.getPanel().setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
    dialog = new JDialog(frame, Localization.lang("Journal abbreviations"), false);
    dialog.getContentPane().add(this, BorderLayout.CENTER);
    dialog.getContentPane().add(bb.getPanel(), BorderLayout.SOUTH);

    // Set up panel for editing a single journal, to be used in a dialog box:
    FormLayout layout2 = new FormLayout("right:pref, 4dlu, fill:180dlu", "p, 2dlu, p");
    FormBuilder builder2 = FormBuilder.create().layout(layout2);
    builder2.add(Localization.lang("Journal name")).xy(1, 1);
    builder2.add(nameTf).xy(3, 1);
    builder2.add(Localization.lang("ISO abbreviation")).xy(1, 3);
    builder2.add(abbrTf).xy(3, 3);
    journalEditPanel = builder2.getPanel();

    viewBuiltin.addActionListener(e -> {
        JTable table = new JTable(JournalAbbreviationsUtil
                .getTableModel(Globals.journalAbbreviationLoader.getRepository().getAbbreviations()));
        JScrollPane pane = new JScrollPane(table);
        JOptionPane.showMessageDialog(null, pane, Localization.lang("Journal list preview"),
                JOptionPane.INFORMATION_MESSAGE);
    });

    browseNew.addActionListener(e -> {
        File old = null;
        if (!"".equals(newNameTf.getText())) {
            old = new File(newNameTf.getText());
        }
        String name = FileDialogs.getNewFile(frame, old, null, JFileChooser.SAVE_DIALOG, false);
        if (name != null) {
            newNameTf.setText(name);
            newFile.setSelected(true);
        }
    });

    browseOld.addActionListener(e -> {
        File old = null;
        if (!"".equals(personalFile.getText())) {
            old = new File(personalFile.getText());
        }
        String name = FileDialogs.getNewFile(frame, old, null, JFileChooser.OPEN_DIALOG, false);
        if (name != null) {
            personalFile.setText(name);
            oldFile.setSelected(true);
            oldFile.setEnabled(true);
            setupUserTable();
        }
    });

    ok.addActionListener(e -> {
        if (readyToClose()) {
            try {
                storeSettings();
                dialog.dispose();
            } catch (FileNotFoundException ex) {
                JOptionPane.showMessageDialog(null,
                        Localization.lang("Error opening file") + ": " + ex.getMessage(),
                        Localization.lang("Error opening file"), JOptionPane.ERROR_MESSAGE);
                LOGGER.debug("Cannot find abbreviation file", ex);
            }
        }
    });

    Action cancelAction = new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            dialog.dispose();
        }
    };
    cancel.addActionListener(cancelAction);

    add.addActionListener(tableModel);
    remove.addActionListener(tableModel);
    addExt.addActionListener(e -> {
        externals.add(new ExternalFileEntry());
        buildExternalsPanel();
    });

    // Key bindings:
    ActionMap am = getActionMap();
    InputMap im = getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
    im.put(Globals.getKeyPrefs().getKey(KeyBinding.CLOSE_DIALOG), "close");
    am.put("close", cancelAction);

    int xSize = getPreferredSize().width;
    dialog.setSize(xSize + 10, 700);
}

From source file:net.sf.jabref.journals.ManageJournalsPanel.java

License:Open Source License

public ManageJournalsPanel(final JabRefFrame frame) {
    this.frame = frame;

    personalFile.setEditable(false);/*from  ww  w. ja v a2s .  c om*/

    ButtonGroup group = new ButtonGroup();
    group.add(newFile);
    group.add(oldFile);
    addExtPan.setLayout(new BorderLayout());
    JButton addExt = new JButton(GUIGlobals.getImage("add"));
    addExtPan.add(addExt, BorderLayout.EAST);
    addExtPan.setToolTipText(Globals.lang("Add"));
    //addExtPan.setBorder(BorderFactory.createMatteBorder(1,1,1,1,Color.red));
    FormLayout layout = new FormLayout("1dlu, 8dlu, left:pref, 4dlu, fill:200dlu:grow, 4dlu, fill:pref", // 4dlu, left:pref, 4dlu",
            "pref, pref, pref, 20dlu, 20dlu, fill:200dlu, 4dlu, pref");//150dlu");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);

    CellConstraints cc = new CellConstraints();

    /*JLabel description = new JLabel("<HTML>"+Glbals.lang("JabRef can switch journal names between "
    +"abbreviated and full form. Since it knows only a limited number of journal names, "
    +"you may need to add your own definitions.")+"</HTML>");*/
    builder.addSeparator(Globals.lang("Built-in journal list"), cc.xyw(2, 1, 6));
    JLabel description = new JLabel("<HTML>"
            + Globals.lang("JabRef includes a built-in list of journal abbreviations.") + "<br>"
            + Globals.lang("You can add additional journal names by setting up a personal journal list,<br>as "
                    + "well as linking to external journal lists.")
            + "</HTML>");
    description.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0));
    builder.add(description, cc.xyw(2, 2, 6));
    JButton viewBuiltin = new JButton(Globals.lang("View"));
    builder.add(viewBuiltin, cc.xy(7, 2));
    builder.addSeparator(Globals.lang("Personal journal list"), cc.xyw(2, 3, 6));

    //builder.add(description, cc.xyw(2,1,6));
    builder.add(newFile, cc.xy(3, 4));
    builder.add(newNameTf, cc.xy(5, 4));
    JButton browseNew = new JButton(Globals.lang("Browse"));
    builder.add(browseNew, cc.xy(7, 4));
    builder.add(oldFile, cc.xy(3, 5));
    builder.add(personalFile, cc.xy(5, 5));
    //BrowseAction action = new BrowseAction(personalFile, false);
    //JButton browse = new JButton(Globals.lang("Browse"));
    //browse.addActionListener(action);
    JButton browseOld = new JButton(Globals.lang("Browse"));
    builder.add(browseOld, cc.xy(7, 5));

    userPanel.setLayout(new BorderLayout());
    //builtInTable = new JTable(Globals.journalAbbrev.getTableModel());
    builder.add(userPanel, cc.xyw(2, 6, 4));
    ButtonStackBuilder butBul = new ButtonStackBuilder();
    butBul.addButton(add);
    butBul.addButton(remove);

    butBul.addGlue();
    builder.add(butBul.getPanel(), cc.xy(7, 6));

    builder.addSeparator(Globals.lang("External files"), cc.xyw(2, 8, 6));
    externalFilesPanel.setLayout(new BorderLayout());
    //builder.add(/*new JScrollPane(*/externalFilesPanel/*)*/, cc.xyw(2,8,6));

    setLayout(new BorderLayout());
    builder.getPanel().setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));//createMatteBorder(1,1,1,1,Color.green));
    add(builder.getPanel(), BorderLayout.NORTH);
    add(externalFilesPanel, BorderLayout.CENTER);
    ButtonBarBuilder bb = new ButtonBarBuilder();
    bb.addGlue();
    JButton ok = new JButton(Globals.lang("Ok"));
    bb.addButton(ok);
    JButton cancel = new JButton(Globals.lang("Cancel"));
    bb.addButton(cancel);
    bb.addUnrelatedGap();
    JButton help = new JButton(Globals.lang("Help"));
    bb.addButton(help);
    bb.addGlue();
    bb.getPanel().setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
    dialog = new JDialog(frame, Globals.lang("Journal abbreviations"), false);
    dialog.getContentPane().add(this, BorderLayout.CENTER);
    dialog.getContentPane().add(bb.getPanel(), BorderLayout.SOUTH);

    //add(new JScrollPane(builtInTable), BorderLayout.CENTER);

    // Set up panel for editing a single journal, to be used in a dialog box:
    FormLayout layout2 = new FormLayout("right:pref, 4dlu, fill:180dlu", "");
    DefaultFormBuilder builder2 = new DefaultFormBuilder(layout2);
    builder2.append(Globals.lang("Journal name"));
    builder2.append(nameTf);
    builder2.nextLine();
    builder2.append(Globals.lang("ISO abbreviation"));
    builder2.append(abbrTf);
    journalEditPanel = builder2.getPanel();

    viewBuiltin.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            JournalAbbreviationRepository abbr = new JournalAbbreviationRepository();
            abbr.readJournalListFromResource(Globals.JOURNALS_FILE_BUILTIN);
            JTable table = new JTable(JournalAbbreviationsUtil.getTableModel(Globals.journalAbbrev));
            JScrollPane pane = new JScrollPane(table);
            JOptionPane.showMessageDialog(null, pane, Globals.lang("Journal list preview"),
                    JOptionPane.INFORMATION_MESSAGE);
        }
    });

    browseNew.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            File old = null;
            if (!newNameTf.getText().equals("")) {
                old = new File(newNameTf.getText());
            }
            String name = FileDialogs.getNewFile(frame, old, null, JFileChooser.SAVE_DIALOG, false);
            if (name != null) {
                newNameTf.setText(name);
                newFile.setSelected(true);
            }
        }
    });
    browseOld.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            File old = null;
            if (!personalFile.getText().equals("")) {
                old = new File(personalFile.getText());
            }
            String name = FileDialogs.getNewFile(frame, old, null, JFileChooser.OPEN_DIALOG, false);
            if (name != null) {
                personalFile.setText(name);
                oldFile.setSelected(true);
                oldFile.setEnabled(true);
                setupUserTable();
            }
        }
    });

    ok.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            if (readyToClose()) {
                try {
                    storeSettings();
                    dialog.dispose();
                } catch (FileNotFoundException ex) {
                    JOptionPane.showMessageDialog(null,
                            Globals.lang("Error opening file") + ": " + ex.getMessage(),
                            Globals.lang("Error opening file"), JOptionPane.ERROR_MESSAGE);
                }
            }
        }
    });
    help.addActionListener(new HelpAction(Globals.helpDiag, GUIGlobals.journalAbbrHelp));

    AbstractAction cancelAction = new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            dialog.dispose();
        }
    };
    cancel.addActionListener(cancelAction);

    add.addActionListener(tableModel);
    remove.addActionListener(tableModel);
    addExt.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            externals.add(new ExternalFileEntry());
            buildExternalsPanel();
        }
    });

    // Key bindings:
    ActionMap am = getActionMap();
    InputMap im = getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
    im.put(Globals.prefs.getKey("Close dialog"), "close");
    am.put("close", cancelAction);

    //dialog.pack();
    int xSize = getPreferredSize().width;
    dialog.setSize(xSize + 10, 700);
}

From source file:net.sourceforge.marathon.checklist.CheckListDialog.java

License:Open Source License

private JPanel createVerticalButtonPanel() {
    JButton removeButton = UIUtils.createRemoveButton();
    removeButton.addActionListener(this);
    JButton upButton = UIUtils.createUpButton();
    upButton.addActionListener(this);
    JButton downButton = UIUtils.createDownButton();
    downButton.addActionListener(this);

    ButtonStackBuilder builder = new ButtonStackBuilder();
    builder.addGlue();
    builder.addButtons(new JButton[] { upButton, removeButton, downButton });
    builder.addGlue();//w  ww .  jav  a  2s  .c  o  m
    return builder.getPanel();
}

From source file:org.columba.mail.gui.config.folder.FolderOptionsDialog.java

License:Mozilla Public License

/**
 * Create advanced panel./*from ww  w .  jav  a 2  s.co  m*/
 * <p>
 * 
 * @return panel
 */
protected JPanel createAdvancedPanel() {
    // Create a FormLayout instance.
    FormLayout layout = new FormLayout("fill:default:grow, 6px, default", //$NON-NLS-1$

            // 3 columns
            "pref, 6px, fill:pref:grow"); //$NON-NLS-1$

    // create a form builder
    PanelBuilder builder = new PanelBuilder(layout);
    CellConstraints cc = new CellConstraints();

    // create EmptyBorder between components and dialog-frame
    builder.setDefaultDialogBorder();

    builder.add(overwriteLabel, cc.xywh(1, 1, 3, 1));

    JScrollPane sp = new JScrollPane(checkableList);
    sp.setPreferredSize(new Dimension(200, 200));
    sp.getViewport().setBackground(Color.white);
    builder.add(sp, cc.xy(1, 3));

    ButtonStackBuilder b = new ButtonStackBuilder();
    b.addGridded(enableButton);
    b.addRelatedGap();
    b.addGridded(disableButton);
    b.addUnrelatedGap();
    b.addGlue();
    b.addFixed(resetButton);

    JPanel buttonPanel = b.getPanel();
    builder.add(buttonPanel, cc.xy(3, 3));

    /*
     * JPanel panel= new JPanel(); panel.setLayout(new BorderLayout());
     * panel.add(resetButton, BorderLayout.EAST); builder.add(panel,
     * cc.xywh(5, 7, 1, 1));
     */
    /*
     * builder.addSeparator("Full-text indexing");
     * 
     * builder.add(enableLabel, cc.xywh(1, 7, 5, 1));
     * builder.add(enableTextIndexingCheckBox, cc.xywh(2, 9, 4, 1));
     */
    return builder.getPanel();
}