List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder append
public JLabel append(String textWithMnemonic)
From source file:net.sf.jabref.external.FileLinksUpgradeWarning.java
License:Open Source License
/** * This method presents a dialog box explaining and offering to make the * changes. If the user confirms, the changes are performed. * @param panel/*w w w. j a va 2 s . co m*/ * @param pr */ @Override public void performAction(BasePanel panel, ParserResult pr) { // Find out which actions should be offered: // Only offer to change Preferences if file column is not already visible: boolean offerChangeSettings = !Globals.prefs.getBoolean(JabRefPreferences.FILE_COLUMN) || !showsFileInGenFields(); // Only offer to upgrade links if the pdf/ps fields are used: boolean offerChangeDatabase = linksFound(pr.getDatabase(), FileLinksUpgradeWarning.FIELDS_TO_LOOK_FOR); // If the "file" directory is not set, offer to migrate pdf/ps dir: boolean offerSetFileDir = !Globals.prefs.hasKey(GUIGlobals.FILE_FIELD + "Directory") && (Globals.prefs.hasKey("pdfDirectory") || Globals.prefs.hasKey("psDirectory")); if (!offerChangeDatabase && !offerChangeSettings && !offerSetFileDir) { return; // Nothing to do, just return. } JCheckBox changeSettings = new JCheckBox( Globals.lang("Change table column and General fields settings to use the new feature"), offerChangeSettings); JCheckBox changeDatabase = new JCheckBox( Globals.lang("Upgrade old external file links to use the new feature"), offerChangeDatabase); JCheckBox setFileDir = new JCheckBox(Globals.lang("Set main external file directory") + ":", offerSetFileDir); JTextField fileDir = new JTextField(30); JCheckBox doNotShowDialog = new JCheckBox(Globals.lang("Do not show these options in the future"), false); JPanel message = new JPanel(); DefaultFormBuilder b = new DefaultFormBuilder(new FormLayout("left:pref", ""), message); // Keep the formatting of these lines. Otherwise, strings have to be translated again. // See updated JabRef_en.properties modifications by python syncLang.py -s -u b.append(new JLabel("<html>" + Globals.lang("This database was written using an older version of JabRef.") + "<br>" + Globals.lang( "The current version features a new way of handling links to external files.<br>To take advantage of this, your links must be changed into the new format, and<br>JabRef must be configured to show the new links.") + "<p>" + Globals.lang("Do you want JabRef to do the following operations?") + "</html>")); b.nextLine(); if (offerChangeSettings) { b.append(changeSettings); b.nextLine(); } if (offerChangeDatabase) { b.append(changeDatabase); b.nextLine(); } if (offerSetFileDir) { if (Globals.prefs.hasKey("pdfDirectory")) { fileDir.setText(Globals.prefs.get("pdfDirectory")); } else { fileDir.setText(Globals.prefs.get("psDirectory")); } JPanel pan = new JPanel(); pan.add(setFileDir); pan.add(fileDir); JButton browse = new JButton(Globals.lang("Browse")); browse.addActionListener(BrowseAction.buildForDir(fileDir)); pan.add(browse); b.append(pan); b.nextLine(); } b.append(""); b.nextLine(); b.append(doNotShowDialog); int answer = JOptionPane.showConfirmDialog(panel.frame(), message, Globals.lang("Upgrade file"), JOptionPane.YES_NO_OPTION); if (doNotShowDialog.isSelected()) { Globals.prefs.putBoolean(JabRefPreferences.SHOW_FILE_LINKS_UPGRADE_WARNING, false); } if (answer == JOptionPane.YES_OPTION) { makeChanges(panel, pr, changeSettings.isSelected(), changeDatabase.isSelected(), setFileDir.isSelected() ? fileDir.getText() : null); } }
From source file:net.sf.jabref.external.PushToEmacs.java
License:Open Source License
private void initSettingsPanel() { DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("left:pref, 4dlu, fill:pref, 4dlu, fill:pref", "")); builder.append(new JLabel(Globals.lang("Path to gnuclient or emacsclient").concat(":"))); builder.append(emacsPath);/*from ww w . ja va2 s. co m*/ BrowseAction action = BrowseAction.buildForFile(emacsPath); JButton browse = new JButton(Globals.lang("Browse")); browse.addActionListener(action); builder.append(browse); builder.nextLine(); builder.append(Globals.lang("Additional parameters").concat(":")); builder.append(additionalParams); builder.nextLine(); builder.append(Globals.lang("Use EMACS 23 insertion string").concat(":")); builder.append(useEmacs23); builder.nextLine(); builder.append(Globals.lang("Cite command") + ":"); builder.append(citeCommand); settings = builder.getPanel(); }
From source file:net.sf.jabref.external.PushToLatexEditor.java
License:Open Source License
private void initSettingsPanel() { DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("left:pref, 4dlu, fill:pref, 4dlu, fill:pref", "")); builder.append(new JLabel(Globals.lang("Path to LatexEditor (LEd.exe)") + ":")); builder.append(ledPath);//ww w . ja v a 2 s .co m BrowseAction action = BrowseAction.buildForFile(ledPath); JButton browse = new JButton(Globals.lang("Browse")); browse.addActionListener(action); builder.append(browse); builder.nextLine(); builder.append(Globals.lang("Cite command") + ":"); builder.append(citeCommand); settings = builder.getPanel(); }
From source file:net.sf.jabref.external.PushToVim.java
License:Open Source License
private void initSettingsPanel() { DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("left:pref, 4dlu, fill:pref, 4dlu, fill:pref", "")); builder.append(new JLabel(Globals.lang("Path to Vim") + ":")); builder.append(vimPath);//from www . j ava2s . c om BrowseAction action = BrowseAction.buildForFile(vimPath); JButton browse = new JButton(Globals.lang("Browse")); browse.addActionListener(action); builder.append(browse); builder.nextLine(); builder.append(Globals.lang("Vim Server Name") + ":"); builder.append(vimServer); builder.nextLine(); builder.append(Globals.lang("Cite command") + ":"); builder.append(citeCommand); settings = builder.getPanel(); }
From source file:net.sf.jabref.external.PushToWinEdt.java
License:Open Source License
private void initSettingsPanel() { DefaultFormBuilder builder = new DefaultFormBuilder( new FormLayout("left:pref, 4dlu, fill:pref, 4dlu, fill:pref", "")); builder.append(new JLabel(Globals.lang("Path to WinEdt.exe") + ":")); builder.append(winEdtPath);/*from ww w . j av a 2 s. c om*/ BrowseAction action = BrowseAction.buildForFile(winEdtPath); JButton browse = new JButton(Globals.lang("Browse")); browse.addActionListener(action); builder.append(browse); builder.nextLine(); builder.append(Globals.lang("Cite command") + ":"); builder.append(citeCommand); settings = builder.getPanel(); }
From source file:net.sf.jabref.ExternalTab.java
License:Open Source License
public ExternalTab(JabRefFrame frame, PrefsDialog3 prefsDiag, JabRefPreferences prefs, HelpDialog helpDialog) { _prefs = prefs;/* w w w .java 2 s . 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.FileTab.java
License:Open Source License
private void createAdFieldOrderBg(DefaultFormBuilder builder, ButtonGroup bg, JTextField jtf) { //for LWang_AdjustableFieldOrder for (Enumeration<AbstractButton> _it = bg.getElements(); _it.hasMoreElements();) { builder.append(_it.nextElement()); builder.nextLine();/*w w w . j av a 2s . c o m*/ } builder.append(jtf); builder.nextLine(); }
From source file:net.sf.jabref.groups.GroupDialog.java
License:Open Source License
/** * Shows a group add/edit dialog./*from ww w . j av a 2 s. c om*/ * * @param jabrefFrame * The parent frame. * @param basePanel * The default grouping field. * @param editedGroup * The group being edited, or null if a new group is to be * created. */ public GroupDialog(JabRefFrame jabrefFrame, BasePanel basePanel, AbstractGroup editedGroup) { super(jabrefFrame, Globals.lang("Edit group"), true); m_basePanel = basePanel; m_editedGroup = editedGroup; // set default values (overwritten if editedGroup != null) m_kgSearchField.setText(jabrefFrame.prefs().get(JabRefPreferences.GROUPS_DEFAULT_FIELD)); // configure elements ButtonGroup groupType = new ButtonGroup(); groupType.add(m_explicitRadioButton); groupType.add(m_keywordsRadioButton); groupType.add(m_searchRadioButton); ButtonGroup groupHierarchy = new ButtonGroup(); groupHierarchy.add(m_independentButton); groupHierarchy.add(m_intersectionButton); groupHierarchy.add(m_unionButton); m_description.setVerticalAlignment(SwingConstants.TOP); getRootPane().setDefaultButton(m_ok); // build individual layout cards for each group m_optionsPanel.setLayout(m_optionsLayout); // ... for explicit group m_optionsPanel.add(new JPanel(), "" + GroupDialog.INDEX_EXPLICITGROUP); // ... for keyword group FormLayout layoutKG = new FormLayout("right:pref, 4dlu, fill:1dlu:grow, 2dlu, left:pref"); DefaultFormBuilder builderKG = new DefaultFormBuilder(layoutKG); builderKG.append(Globals.lang("Field")); builderKG.append(m_kgSearchField, 3); builderKG.nextLine(); builderKG.append(Globals.lang("Keyword")); builderKG.append(m_kgSearchTerm); builderKG.append(new FieldContentSelector(jabrefFrame, m_basePanel, this, m_kgSearchTerm, m_basePanel.metaData(), null, true, ", ")); builderKG.nextLine(); builderKG.append(m_kgCaseSensitive, 3); builderKG.nextLine(); builderKG.append(m_kgRegExp, 3); m_optionsPanel.add(builderKG.getPanel(), "" + GroupDialog.INDEX_KEYWORDGROUP); // ... for search group FormLayout layoutSG = new FormLayout("right:pref, 4dlu, fill:1dlu:grow"); DefaultFormBuilder builderSG = new DefaultFormBuilder(layoutSG); builderSG.append(Globals.lang("Search expression")); builderSG.append(m_sgSearchExpression); builderSG.nextLine(); builderSG.append(m_sgCaseSensitive, 3); builderSG.nextLine(); builderSG.append(m_sgRegExp, 3); m_optionsPanel.add(builderSG.getPanel(), "" + GroupDialog.INDEX_SEARCHGROUP); // ... for buttons panel FormLayout layoutBP = new FormLayout("pref, 4dlu, pref", "p"); layoutBP.setColumnGroups(new int[][] { { 1, 3 } }); ButtonBarBuilder builderBP = new ButtonBarBuilder(); builderBP.addGlue(); builderBP.addButton(m_ok); JButton m_cancel = new JButton(Globals.lang("Cancel")); builderBP.addButton(m_cancel); builderBP.addGlue(); builderBP.getPanel().setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); // create layout FormLayout layoutAll = new FormLayout("right:pref, 4dlu, fill:600px, 4dlu, fill:pref", "p, 3dlu, p, 3dlu, p, 0dlu, p, 0dlu, p, 3dlu, p, 3dlu, p, " + "0dlu, p, 0dlu, p, 3dlu, p, 3dlu, " + "p, 3dlu, p, 3dlu, top:80dlu, 9dlu, p, 9dlu, p"); DefaultFormBuilder builderAll = new DefaultFormBuilder(layoutAll); builderAll.border(Borders.DIALOG); builderAll.appendSeparator(Globals.lang("General")); builderAll.nextLine(); builderAll.nextLine(); builderAll.append(Globals.lang("Name")); builderAll.append(m_name); builderAll.nextLine(); builderAll.nextLine(); builderAll.append(m_explicitRadioButton, 5); builderAll.nextLine(); builderAll.nextLine(); builderAll.append(m_keywordsRadioButton, 5); builderAll.nextLine(); builderAll.nextLine(); builderAll.append(m_searchRadioButton, 5); builderAll.nextLine(); builderAll.nextLine(); builderAll.appendSeparator(Globals.lang("Hierarchical context")); // JZTODO lyrics builderAll.nextLine(); builderAll.nextLine(); builderAll.append(m_independentButton, 5); builderAll.nextLine(); builderAll.nextLine(); builderAll.append(m_intersectionButton, 5); builderAll.nextLine(); builderAll.nextLine(); builderAll.append(m_unionButton, 5); builderAll.nextLine(); builderAll.nextLine(); builderAll.appendSeparator(Globals.lang("Options")); builderAll.nextLine(); builderAll.nextLine(); builderAll.append(m_optionsPanel, 5); builderAll.nextLine(); builderAll.nextLine(); builderAll.appendSeparator(Globals.lang("Description")); builderAll.nextLine(); builderAll.nextLine(); JScrollPane sp = new JScrollPane(m_description, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED) { @Override public Dimension getPreferredSize() { return getMaximumSize(); } }; builderAll.append(sp, 5); builderAll.nextLine(); builderAll.nextLine(); builderAll.appendSeparator(); builderAll.nextLine(); builderAll.nextLine(); //CellConstraints cc = new CellConstraints(); //builderAll.add(builderBP.getPanel(), cc.xyw(builderAll.getColumn(), // builderAll.getRow(), 5, "center, fill")); Container cp = getContentPane(); //cp.setLayout(new BoxLayout(cp, BoxLayout.Y_AXIS)); cp.add(builderAll.getPanel(), BorderLayout.CENTER); cp.add(builderBP.getPanel(), BorderLayout.SOUTH); pack(); setResizable(false); updateComponents(); setLayoutForSelectedGroup(); Util.placeDialog(this, jabrefFrame); // add listeners ItemListener radioButtonItemListener = new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { setLayoutForSelectedGroup(); updateComponents(); } }; m_explicitRadioButton.addItemListener(radioButtonItemListener); m_keywordsRadioButton.addItemListener(radioButtonItemListener); m_searchRadioButton.addItemListener(radioButtonItemListener); Action cancelAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { dispose(); } }; m_cancel.addActionListener(cancelAction); builderAll.getPanel().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) .put(Globals.prefs.getKey("Close dialog"), "close"); builderAll.getPanel().getActionMap().put("close", cancelAction); m_ok.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { m_okPressed = true; if (m_explicitRadioButton.isSelected()) { if (m_editedGroup instanceof ExplicitGroup) { // keep assignments from possible previous ExplicitGroup m_resultingGroup = m_editedGroup.deepCopy(); m_resultingGroup.setName(m_name.getText().trim()); m_resultingGroup.setHierarchicalContext(getContext()); } else { m_resultingGroup = new ExplicitGroup(m_name.getText().trim(), getContext()); if (m_editedGroup != null) { addPreviousEntries(); } } } else if (m_keywordsRadioButton.isSelected()) { // regex is correct, otherwise OK would have been disabled // therefore I don't catch anything here m_resultingGroup = new KeywordGroup(m_name.getText().trim(), m_kgSearchField.getText().trim(), m_kgSearchTerm.getText().trim(), m_kgCaseSensitive.isSelected(), m_kgRegExp.isSelected(), getContext()); if (((m_editedGroup instanceof ExplicitGroup) || (m_editedGroup instanceof SearchGroup)) && m_resultingGroup.supportsAdd()) { addPreviousEntries(); } } else if (m_searchRadioButton.isSelected()) { try { // regex is correct, otherwise OK would have been // disabled // therefore I don't catch anything here m_resultingGroup = new SearchGroup(m_name.getText().trim(), m_sgSearchExpression.getText().trim(), isCaseSensitive(), isRegex(), getContext()); } catch (Exception e1) { // should never happen } } dispose(); } }); CaretListener caretListener = new CaretListener() { @Override public void caretUpdate(CaretEvent e) { updateComponents(); } }; ItemListener itemListener = new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { updateComponents(); } }; m_name.addCaretListener(caretListener); m_kgSearchField.addCaretListener(caretListener); m_kgSearchTerm.addCaretListener(caretListener); m_kgCaseSensitive.addItemListener(itemListener); m_kgRegExp.addItemListener(itemListener); m_sgSearchExpression.addCaretListener(caretListener); m_sgRegExp.addItemListener(itemListener); m_sgCaseSensitive.addItemListener(itemListener); // configure for current type if (editedGroup instanceof KeywordGroup) { KeywordGroup group = (KeywordGroup) editedGroup; m_name.setText(group.getName()); m_kgSearchField.setText(group.getSearchField()); m_kgSearchTerm.setText(group.getSearchExpression()); m_kgCaseSensitive.setSelected(group.isCaseSensitive()); m_kgRegExp.setSelected(group.isRegExp()); m_keywordsRadioButton.setSelected(true); setContext(editedGroup.getHierarchicalContext()); } else if (editedGroup instanceof SearchGroup) { SearchGroup group = (SearchGroup) editedGroup; m_name.setText(group.getName()); m_sgSearchExpression.setText(group.getSearchExpression()); m_sgCaseSensitive.setSelected(group.isCaseSensitive()); m_sgRegExp.setSelected(group.isRegExp()); m_searchRadioButton.setSelected(true); setContext(editedGroup.getHierarchicalContext()); } else if (editedGroup instanceof ExplicitGroup) { m_name.setText(editedGroup.getName()); m_explicitRadioButton.setSelected(true); setContext(editedGroup.getHierarchicalContext()); } else { // creating new group -> defaults! m_explicitRadioButton.setSelected(true); setContext(GroupHierarchyType.INDEPENDENT); } }
From source file:net.sf.jabref.groups.GroupsPrefsTab.java
License:Open Source License
public GroupsPrefsTab(JabRefPreferences prefs) { this.prefs = prefs; keywordSeparator.addFocusListener(new FocusListener() { @Override//from ww w .j a v a 2 s . c o m public void focusGained(FocusEvent e) { keywordSeparator.selectAll(); } @Override public void focusLost(FocusEvent e) { // deselection is automatic } }); FormLayout layout = new FormLayout("9dlu, pref", //500px", "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, " + "p, 3dlu, p"); DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.appendSeparator(Globals.lang("View")); builder.nextLine(); builder.nextLine(); builder.nextColumn(); builder.append(showIcons); builder.nextLine(); builder.nextLine(); builder.nextColumn(); builder.append(showDynamic); builder.nextLine(); builder.nextLine(); builder.nextColumn(); builder.append(expandTree); builder.nextLine(); builder.nextLine(); builder.nextColumn(); builder.append(autoShow); builder.nextLine(); builder.nextLine(); builder.nextColumn(); builder.append(autoHide); builder.nextLine(); builder.nextLine(); builder.nextColumn(); builder.append(autoAssignGroup); builder.nextLine(); builder.nextLine(); builder.appendSeparator(Globals.lang("Dynamic groups")); builder.nextLine(); builder.nextLine(); builder.nextColumn(); // build subcomponent FormLayout layout2 = new FormLayout("left:pref, 2dlu, left:pref", "p, 3dlu, p"); DefaultFormBuilder builder2 = new DefaultFormBuilder(layout2); builder2.append(new JLabel(Globals.lang("Default grouping field") + ":")); builder2.append(groupingField); builder2.nextLine(); builder2.nextLine(); builder2.append(new JLabel(Globals.lang("When adding/removing keywords, separate them by") + ":")); builder2.append(keywordSeparator); builder.append(builder2.getPanel()); setLayout(new BorderLayout()); JPanel panel = builder.getPanel(); panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); add(panel, BorderLayout.CENTER); }
From source file:net.sf.jabref.gui.AttachFileDialog.java
License:Open Source License
private void initGui() { final ExternalFilePanel extPan = new ExternalFilePanel(fieldName, metaData, entry, editor, Util.getFileFilterForField(fieldName)); browse.addActionListener(new ActionListener() { @Override/* w w w . j a v a 2 s . c om*/ public void actionPerformed(ActionEvent event) { extPan.browseFile(fieldName, editor); } }); download.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent event) { extPan.downLoadFile(fieldName, editor, ths); } }); auto.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent event) { JabRefExecutorService.INSTANCE.execute(extPan.autoSetFile(fieldName, editor)); } }); ActionListener okListener = new ActionListener() { @Override public void actionPerformed(ActionEvent event) { cancelled = false; dispose(); } }; ok.addActionListener(okListener); ((JTextField) editor.getTextComponent()).addActionListener(okListener); AbstractAction cancelListener = new AbstractAction() { @Override public void actionPerformed(ActionEvent event) { cancelled = true; dispose(); } }; cancel.addActionListener(cancelListener); editor.getTextComponent().getInputMap().put(Globals.prefs.getKey("Close dialog"), "close"); editor.getTextComponent().getActionMap().put("close", cancelListener); FormLayout layout = new FormLayout("fill:160dlu, 4dlu, fill:pref", ""); DefaultFormBuilder builder = new DefaultFormBuilder(layout); //builder.append(Util.nCase(fieldName));//(editor.getLabel()); builder.appendSeparator(StringUtil.nCase(fieldName)); builder.append(editor.getTextComponent()); builder.append(browse); ButtonBarBuilder bb = new ButtonBarBuilder(); bb.addButton(download); bb.addButton(auto); builder.nextLine(); builder.append(bb.getPanel()); builder.nextLine(); builder.appendSeparator(); JPanel main = builder.getPanel(); main.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); bb = new ButtonBarBuilder(); bb.addGlue(); bb.addButton(ok); bb.addButton(cancel); bb.addGlue(); getContentPane().add(main, BorderLayout.CENTER); getContentPane().add(bb.getPanel(), BorderLayout.SOUTH); pack(); }