List of usage examples for com.jgoodies.forms.builder ButtonStackBuilder addGlue
public ButtonStackBuilder addGlue()
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(); }