List of usage examples for com.jgoodies.forms.layout FormLayout setColumnGroups
public void setColumnGroups(int[][] groupOfIndices)
From source file:idontwant2see.IDontWant2See.java
License:Open Source License
public ActionMenu getButtonAction() { final ContextMenuAction baseAction = new ContextMenuAction(mLocalizer.msg("name", "I don't want to see!"), createImageIcon("apps", "idontwant2see", 16)); final ContextMenuAction openExclusionList = new ContextMenuAction( mLocalizer.msg("editExclusionList", "Edit exclusion list"), createImageIcon("apps", "idontwant2see", 16)); openExclusionList.putValue(Plugin.BIG_ICON, createImageIcon("apps", "idontwant2see", 22)); openExclusionList.setActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { final Window w = UiUtilities.getLastModalChildOf(getParentFrame()); JDialog temDlg = null; if (w instanceof JDialog) { temDlg = new JDialog((JDialog) w, true); } else { temDlg = new JDialog((JFrame) w, true); }//from w w w. j a v a2 s.co m final JDialog exclusionListDlg = temDlg; exclusionListDlg.setTitle(mLocalizer.msg("name", "I don't want to see!") + " - " + mLocalizer.msg("editExclusionList", "Edit exclusion list")); UiUtilities.registerForClosing(new WindowClosingIf() { public void close() { exclusionListDlg.dispose(); } public JRootPane getRootPane() { return exclusionListDlg.getRootPane(); } }); final ExclusionTablePanel exclusionPanel = new ExclusionTablePanel(mSettings); final JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK)); ok.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { exclusionPanel.saveSettings(mSettings); exclusionListDlg.dispose(); } }); final JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL)); cancel.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { exclusionListDlg.dispose(); } }); final FormLayout layout = new FormLayout("0dlu:grow,default,3dlu,default", "fill:500px:grow,2dlu,default,5dlu,default"); layout.setColumnGroups(new int[][] { { 2, 4 } }); final CellConstraints cc = new CellConstraints(); final PanelBuilder pb = new PanelBuilder(layout, (JPanel) exclusionListDlg.getContentPane()); pb.setDefaultDialogBorder(); pb.add(exclusionPanel, cc.xyw(1, 1, 4)); pb.addSeparator("", cc.xyw(1, 3, 4)); pb.add(ok, cc.xy(2, 5)); pb.add(cancel, cc.xy(4, 5)); layoutWindow("exclusionListDlg", exclusionListDlg, new Dimension(600, 450)); exclusionListDlg.setVisible(true); } }); final ContextMenuAction undo = new ContextMenuAction( mLocalizer.msg("undoLastExclusion", "Undo last exclusion"), createImageIcon("actions", "edit-undo", 16)); undo.putValue(Plugin.BIG_ICON, createImageIcon("actions", "edit-undo", 22)); undo.setActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { String lastEnteredExclusionString = mSettings.getLastEnteredExclusionString(); if (lastEnteredExclusionString.length() > 0) { for (int i = mSettings.getSearchList().size() - 1; i >= 0; i--) { if (mSettings.getSearchList().get(i).getSearchText().equals(lastEnteredExclusionString)) { mSettings.getSearchList().remove(i); } } mSettings.setLastEnteredExclusionString(""); updateFilter(true); } } }); return new ActionMenu(baseAction, new Action[] { openExclusionList, undo }); }
From source file:loci.visbio.overlays.OverlayWidget.java
License:Open Source License
/** Creates overlay GUI controls. */ public OverlayWidget(final OverlayTransform overlay) { super();//from w w w. jav a 2 s .c om this.overlay = overlay; buttonGroup = new ButtonGroup(); // list of tools final OverlayTool[] toolList = { new PointerTool(overlay), new LineTool(overlay), new FreeformTool(overlay), new MarkerTool(overlay), new TextTool(overlay), new OvalTool(overlay), new BoxTool(overlay), new ArrowTool(overlay), new PolylineTool(overlay), }; tools = new Vector(toolList.length); // tool buttons buttons = new Vector(toolList.length); for (int i = 0; i < toolList.length; i++) addTool(toolList[i]); final Object[] buttonList = new Object[buttons.size()]; buttons.copyInto(buttonList); final JPanel toolsRow = FormsUtil.makeRow(buttonList); // file chooser for loading overlays overlayLoadBox = new JFileChooser(); overlayLoadBox .addChoosableFileFilter(new ExtensionFileFilter(new String[] { "txt" }, "Overlay text files")); // file chooser for saving overlays overlaySaveBox = new JFileChooser(); overlaySaveBox .addChoosableFileFilter(new ExtensionFileFilter(new String[] { "txt" }, "Overlay text files")); overlaySaveBox.setAccessory(new StatsOptionsPane()); overlayXLSBox = new JFileChooser(); overlayXLSBox.addChoosableFileFilter( new ExtensionFileFilter(new String[] { "xls" }, "Overlay spreadsheet files")); overlayXLSBox.setAccessory(new StatsOptionsPane()); // current font text field currentFont = new JTextField(); currentFont.setEditable(false); currentFont.setToolTipText("Font used for text overlays"); refreshCurrentFont(); // font chooser button chooseFont = new JButton("Change..."); chooseFont.addActionListener(this); if (!LAFUtil.isMacLookAndFeel()) chooseFont.setMnemonic('h'); chooseFont.setToolTipText("Configures font used for text overlays"); final JPanel fontRow = FormsUtil.makeRow(new Object[] { "Font", currentFont, chooseFont }, new boolean[] { false, true, false }); // overlay list overlayListModel = new DefaultListModel(); overlayList = new JList(overlayListModel); overlayList.addListSelectionListener(this); overlayList.setToolTipText("Overlays at the current dimensional position"); final JScrollPane overlayScroll = new JScrollPane(overlayList); SwingUtil.configureScrollPane(overlayScroll); overlayScroll.setPreferredSize(new Dimension(120, 0)); // text fields for (X, Y) coordinate pairs final int textWidth = 12; x1 = new JTextField(textWidth); y1 = new JTextField(textWidth); x2 = new JTextField(textWidth); y2 = new JTextField(textWidth); x1.setEnabled(false); y1.setEnabled(false); x2.setEnabled(false); y2.setEnabled(false); x1.getDocument().addDocumentListener(this); y1.getDocument().addDocumentListener(this); x2.getDocument().addDocumentListener(this); y2.getDocument().addDocumentListener(this); x1.setToolTipText("First X coordinate of selected overlays"); y1.setToolTipText("First Y coordinate of selected overlays"); x2.setToolTipText("Second X coordinate of selected overlays"); y2.setToolTipText("Second Y coordinate of selected overlays"); // text text field ;-) text = new JTextField(2 * textWidth); text.getDocument().addDocumentListener(this); text.setToolTipText("Text displayed for the selected text overlays"); // color chooser color = new JButton(); color.addActionListener(this); color.setBackground(Color.white); color.setToolTipText("The color of the selected overlays"); // filled checkbox filled = new JCheckBox("Filled"); filled.addActionListener(this); if (!LAFUtil.isMacLookAndFeel()) filled.setMnemonic('f'); filled.setToolTipText("Whether the selected overlays are filled in or outlined"); // group selector groupList = new BioComboBox(); groupList.addItem("None"); groupList.addActionListener(this); groupList.setToolTipText("The overlay group to which the selected overlays belong"); // new group button newGroup = new JButton("New..."); newGroup.addActionListener(this); if (!LAFUtil.isMacLookAndFeel()) newGroup.setMnemonic('n'); newGroup.setToolTipText("Creates a new overlay group"); // notes text field notes = new JTextField(2 * textWidth); notes.getDocument().addDocumentListener(this); notes.setToolTipText("Miscellaneous notes associated with the selected overlays"); // stats text area stats = new JTextArea(7, 3 * textWidth); stats.setEditable(false); stats.setBorder(new EtchedBorder()); stats.setToolTipText("Statistics for the selected overlay"); // overlay removal button remove = new JButton("Remove"); remove.setEnabled(false); remove.addActionListener(this); if (!LAFUtil.isMacLookAndFeel()) remove.setMnemonic('r'); remove.setToolTipText("Deletes the selected overlays"); // overlay copy button copy = new JButton("Copy"); copy.setEnabled(false); copy.addActionListener(this); if (!LAFUtil.isMacLookAndFeel()) copy.setMnemonic('c'); copy.setToolTipText("Copies selected overlays to the clipboard"); // overlay paste button paste = new JButton("Paste"); paste.setEnabled(false); paste.addActionListener(this); if (!LAFUtil.isMacLookAndFeel()) paste.setMnemonic('p'); paste.setToolTipText("Pastes overlays from the clipboard"); // overlay distribution button dist = new JButton("Distribute"); dist.addActionListener(this); if (!LAFUtil.isMacLookAndFeel()) dist.setMnemonic('d'); dist.setToolTipText("Distributes an overlay evenly between " + "copied location and selected location"); // overlay loading button load = new JButton("Load overlays..."); load.addActionListener(this); if (!LAFUtil.isMacLookAndFeel()) load.setMnemonic('l'); load.setToolTipText("Loads overlays from a text file on disk"); // overlay saving button save = new JButton("Save overlays..."); save.addActionListener(this); if (!LAFUtil.isMacLookAndFeel()) save.setMnemonic('s'); save.setToolTipText("Saves overlays to a text file on disk"); // overlay export button export = new JButton("Export overlays..."); export.addActionListener(this); if (!LAFUtil.isMacLookAndFeel()) export.setMnemonic('e'); export.setToolTipText("Exports overlays to a .xls file on disk"); // lay out components setLayout(new BorderLayout()); final FormLayout layout = new FormLayout("pref, 5dlu, pref, 3dlu, pref:grow, 5dlu, pref, 3dlu, pref:grow", "pref, 3dlu, pref, 9dlu, pref, 3dlu, pref, 9dlu, pref, 3dlu, pref, " + "3dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, " + "3dlu, pref, 9dlu, pref, 3dlu, fill:pref:grow"); final PanelBuilder builder = new PanelBuilder(layout); final CellConstraints cc = new CellConstraints(); int row = 1; builder.addSeparator("Tools", cc.xyw(1, row, 9)); row += 2; builder.add(toolsRow, cc.xyw(1, row, 9)); row += 2; builder.addSeparator("Overlays", cc.xyw(1, row, 9)); row += 2; builder.add(fontRow, cc.xyw(1, row, 9)); row += 2; builder.add(overlayScroll, cc.xywh(1, row, 1, 11)); builder.addLabel("X1", cc.xy(3, row)); builder.add(x1, cc.xy(5, row)); builder.addLabel("Y1", cc.xy(7, row)); builder.add(y1, cc.xy(9, row)); row += 2; builder.addLabel("X2", cc.xy(3, row)); builder.add(x2, cc.xy(5, row)); builder.addLabel("Y2", cc.xy(7, row)); builder.add(y2, cc.xy(9, row)); row += 2; builder.addLabel("Text", cc.xy(3, row)); builder.add(text, cc.xyw(5, row, 5)); row += 2; builder.addLabel("Color", cc.xy(3, row)); builder.add(color, cc.xy(5, row, "fill, fill")); builder.add(filled, cc.xyw(7, row, 3)); row += 2; builder.addLabel("Group", cc.xy(3, row)); builder.add(groupList, cc.xy(5, row)); builder.add(newGroup, cc.xyw(7, row, 3, "left, center")); row += 2; builder.addLabel("Notes", cc.xy(3, row)); builder.add(notes, cc.xyw(5, row, 5)); row += 2; builder.add(ButtonBarFactory.buildCenteredBar(new JButton[] { remove, copy, paste, dist }), cc.xyw(1, row, 9, "center, center")); row += 2; builder.add(ButtonBarFactory.buildCenteredBar(new JButton[] { load, save, export }), cc.xyw(1, row, 9, "center, center")); row += 2; builder.addSeparator("Statistics", cc.xyw(1, row, 9)); row += 2; builder.add(stats, cc.xyw(1, row, 9)); layout.setColumnGroups(new int[][] { { 5, 9 } }); add(builder.getPanel()); overlay.addTransformListener(this); // widget refresh timer refreshTimer = new Timer(200, this); refreshTimer.start(); }
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 ww w. j av a 2 s . co m 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.groups.GroupDialog.java
License:Open Source License
/** * Shows a group add/edit dialog./*www. ja v 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.sourceforge.marathon.display.SearchDialog.java
License:Open Source License
private Component buildButtonBar() { FormLayout layout = new FormLayout("d:grow, d, 3dlu, d", "pref, 3dlu, pref"); layout.setColumnGroups(new int[][] { { 2, 4 } }); PanelBuilder builder = new PanelBuilder(layout); builder.setDefaultDialogBorder();//from ww w . ja v a 2 s. c o m CellConstraints cc = new CellConstraints(); builder.add(find, cc.xyw(2, 1, 1)); builder.add(replaceFind, cc.xyw(4, 1, 1)); builder.add(replace, cc.xyw(2, 3, 1)); builder.add(replaceAll, cc.xyw(4, 3, 1)); return builder.getPanel(); }
From source file:omr.sheet.ui.PixelBoard.java
License:Open Source License
private void defineLayout() { FormLayout layout = Panel.makeFormLayout(3, 3); // Specify that columns 1, 5 & 9 as well as 3, 7 & 11 have equal widths layout.setColumnGroups(new int[][] { { 1, 5, 9 }, { 3, 7, 11 } }); PanelBuilder builder = new PanelBuilder(layout, getBody()); builder.setDefaultDialogBorder();/*ww w. ja va2 s . co m*/ CellConstraints cst = new CellConstraints(); int r = 1; // -------------------------------- builder.add(x.getLabel(), cst.xy(1, r)); builder.add(x.getField(), cst.xy(3, r)); x.getField().setColumns(5); builder.add(width.getLabel(), cst.xy(5, r)); builder.add(width.getField(), cst.xy(7, r)); builder.add(level.getLabel(), cst.xy(9, r)); builder.add(level.getField(), cst.xy(11, r)); r += 2; // -------------------------------- builder.add(y.getLabel(), cst.xy(1, r)); builder.add(y.getField(), cst.xy(3, r)); builder.add(height.getLabel(), cst.xy(5, r)); builder.add(height.getField(), cst.xy(7, r)); }
From source file:org.columba.mail.gui.composer.ComposerController.java
License:Mozilla Public License
/** * Layout components/*ww w . j a v a 2 s .c om*/ */ public void layoutComponents() { centerPanel.removeAll(); editorPanel.setLayout(new BorderLayout()); toolbarPanel.setLayout(new BorderLayout()); toolbarPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 4, 0)); toolbarPanel.add(htmlToolbar); toolbarPanel.setBackground(UIManager.getColor("TextArea.background")); topPanel = new JPanel(); topPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); FormLayout layout = new FormLayout( new ColumnSpec[] { new ColumnSpec("center:max(pref;50dlu)"), FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.GROWING_BUTTON_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.GROWING_BUTTON_COLSPEC }, new RowSpec[] { new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.NO_GROW), FormFactory.LINE_GAP_ROWSPEC, new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.NO_GROW), FormFactory.LINE_GAP_ROWSPEC, new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.NO_GROW), FormFactory.LINE_GAP_ROWSPEC, new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.NO_GROW), FormFactory.LINE_GAP_ROWSPEC, new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.NO_GROW) }); layout.setRowGroups(new int[][] { { 1, 3, 5, 7, 9 } }); layout.setColumnGroups(new int[][] { { 1 } }); topPanel.setLayout(layout); CellConstraints c = new CellConstraints(); topPanel.add(smtpLabel, c.xy(1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT)); topPanel.add(getAccountController().getView(), c.xy(3, 1)); topPanel.add(priorityLabel, c.xy(5, 1)); topPanel.add(getPriorityController().getView(), c.xy(7, 1)); getHeaderController().getView().layoutComponents(topPanel); topPanel.add(subjectLabel, c.xy(1, 9, CellConstraints.CENTER, CellConstraints.DEFAULT)); topPanel.add(getSubjectController().getView(), c.xywh(3, 9, 5, 1)); if (composerModel.isHtml()) editorPanel.add(toolbarPanel, BorderLayout.NORTH); editorScrollPane.getContentPane().add(getCurrentEditor().getViewUIComponent(), BorderLayout.CENTER); editorPanel.add(editorScrollPane, BorderLayout.CENTER); Border outterBorder = BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5), new MessageBorder(Color.LIGHT_GRAY, 1, true)); Border innerBorder = BorderFactory.createCompoundBorder(outterBorder, new LineBorder(Color.WHITE, 5, true)); editorPanel.setBorder(innerBorder); AccountItem item = (AccountItem) getAccountController().getView().getSelectedItem(); if (item.getIdentity().getSignature() != null) editorScrollPane.getContentPane().add(signatureView, BorderLayout.SOUTH); editorScrollPane.addMouseListener(new MouseListener() { public void mouseClicked(MouseEvent e) { currentEditorController.getComponent().requestFocus(); } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } }); centerPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); centerPanel.setLayout(new BorderLayout()); centerPanel.add(topPanel, BorderLayout.NORTH); centerPanel.add(editorPanel, BorderLayout.CENTER); attachmentPanelShown = false; }
From source file:org.deegree.igeo.views.swing.style.component.classification.FillGraphicClassificationPanel.java
License:Open Source License
private void init(GraphicOptions graphicOptions) { fixValueRB = new JRadioButton(get("$MD10737")); dynamicValueRB = new JRadioButton(get("$MD10738")); ButtonGroup bg = new ButtonGroup(); bg.add(fixValueRB);//from w w w . j a va 2 s .c om bg.add(dynamicValueRB); fixColorBt = new JButton(get("$MD10742")); fixColorBt.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Color color = JColorChooser.showDialog(FillGraphicClassificationPanel.this, get("$MD10736"), SldValues.getDefaultColor()); if (color != null) { fixColorBt.setBackground(color); fillGraphicPanel.createAndUpdateColor(color, Color.BLACK); fixValueRB.setSelected(true); } } }); fillGraphicPanel = new FillGraphicPanel(graphicOptions); gradientPanel = new ColorGradientPanel(graphicOptions, new ChangeListener() { public void valueChanged(ValueChangedEvent event) { dynamicValueRB.setSelected(true); } }); FormLayout fl = new FormLayout("min, $ugap, min", "$cpheight, $cpheight, $cpheight, top:pref:grow(1.0)"); fl.setColumnGroups(new int[][] { { 1, 3 } }); DefaultFormBuilder builder = new DefaultFormBuilder(fl); builder.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); CellConstraints cc = new CellConstraints(); builder.add(fixValueRB, cc.xy(1, 1)); builder.add(fixColorBt, cc.xy(1, 2)); builder.add(dynamicValueRB, cc.xy(1, 3)); builder.add(gradientPanel, cc.xy(1, 4)); builder.add(fillGraphicPanel, cc.xywh(3, 1, 1, 4)); add(builder.getPanel(), BorderLayout.CENTER); }
From source file:org.siberia.editor.ValidationEditor.java
License:Open Source License
/** method that return the validation * create it if it is not initialized/*w ww .j a v a2 s . com*/ * @return a JPanel */ protected JPanel getValidationPanel() { if (this.validationPanel == null) { FormLayout layout = new FormLayout( "fill:pref:grow, pref, " + this.buttonInterval + "px, pref, " + "fill:pref:grow", "pref"); layout.setColumnGroups(new int[][] { { 1, 5 } }); this.validationPanel = new JPanel(layout); this.validationButton = new JButton("Valider"); this.cancelButton = new JButton("Annuler"); this.listener = new ActionListener() { public void actionPerformed(ActionEvent e) { boolean quit = false; if (e.getSource() == validationButton) { if (isModified()) { save(); } quit = true; } else if (e.getSource() == cancelButton) { if (isModified()) { cancel(); } quit = true; } if (quit) { try { checkCloseAllowed(); aboutToBeClosed(); close(); } catch (ClosingRefusedException ex) { /** indicate to the editor that it could not be closed */ closingRefused(); /** provide messages to the interface */ JOptionPane.showMessageDialog(SwingUtilities.getRoot(getComponent()), ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } } } }; /** add actionlistener */ this.getValidationButton().addActionListener(this.listener); this.getCancelButton().addActionListener(this.listener); /* add buttons to the validation panel */ CellConstraints cc = new CellConstraints(); this.validationPanel.add(this.validationButton, cc.xy(2, 1)); this.validationPanel.add(this.cancelButton, cc.xy(4, 1)); } return this.validationPanel; }
From source file:org.siberia.trans.ui.editor.impl.plugin.PluginChooserPanel.java
License:Open Source License
/** Creates new form PluginChooserPanel * @param transSiberian an instance of TransSiberia *///w w w . j ava2 s . co m public PluginChooserPanel(final TransSiberia transSiberian) { if (transSiberian == null) { throw new IllegalArgumentException("transSiberian shall not be null"); } this.trans = transSiberian; initComponents(); this.pluginDescription.setEditorKit(new HTMLEditorKit()); final ResourceBundle rb = ResourceBundle.getBundle(PluginChooserPanel.class.getName()); this.availableVersionLabel.setText(rb.getString("availableVersionLabel")); this.installedVersionLabel.setText(rb.getString("installedVersionLabel")); this.mainLabel.setText(rb.getString("mainLabel")); /* initialize layout */ FormLayout layout = new FormLayout("fill:pref:grow, 5px, pref, 5px, fill:pref:grow", "fill:pref:grow"); layout.setColumnGroups(new int[][] { { 1, 5 } }); this.mainPanel.setLayout(layout); CellConstraints cc = new CellConstraints(); /** add selection buttons */ this.selectionPanel = new PluginSelectionPanel(); this.mainPanel.add(this.selectionPanel, cc.xy(3, 1)); // this.selectionPanel.getAddAllButton().setEnabled(true); // this.selectionPanel.getRemoveAllButton().setEnabled(true); // this.selectionPanel.getAddButton().setEnabled(false); // this.selectionPanel.getRemoveButton().setEnabled(false); this.selectionPanel.getAddButton().addActionListener(this); this.selectionPanel.getAddAllButton().addActionListener(this); this.selectionPanel.getRemoveButton().addActionListener(this); this.selectionPanel.getRemoveAllButton().addActionListener(this); this.installedVersionField.setText(""); this.availableVersionField.setText(""); /** install plugin panel */ this.availablePluginPanel = new SibTypeListTreeTablePanel(); this.selectedPluginPanel = new SibTypeListTreeTablePanel(); int visibleRowCount = 10; this.availablePluginPanel.getTable().setVisibleRowCount(visibleRowCount); this.selectedPluginPanel.getTable().setVisibleRowCount(visibleRowCount); int maxDspRows = -1; // unlimited this.availablePluginPanel.getTable().setMaximumDisplayedRows(maxDspRows); this.selectedPluginPanel.getTable().setMaximumDisplayedRows(maxDspRows); int selectionMode = ListSelectionModel.MULTIPLE_INTERVAL_SELECTION; this.availablePluginPanel.getTable().setSelectionMode(selectionMode); this.selectedPluginPanel.getTable().setSelectionMode(selectionMode); this.availablePluginPanel.getTable().getSelectionModel().addListSelectionListener(this); this.selectedPluginPanel.getTable().getSelectionModel().addListSelectionListener(this); this.listSelectionManager = new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (evt.getOldValue() instanceof ListSelectionModel) { ((ListSelectionModel) evt.getOldValue()).removeListSelectionListener(PluginChooserPanel.this); } if (evt.getNewValue() instanceof ListSelectionModel) { ((ListSelectionModel) evt.getNewValue()).addListSelectionListener(PluginChooserPanel.this); } } }; // PropertyDeclaration decl_category = new PropertyDeclaration(PluginStructure.PROPERTY_CATEGORY, true, true, 40); PropertyDeclaration decl_choice = new PropertyDeclaration(Plugin.PROPERTY_VERSION_CHOICE, true, true, 40); this.availablePluginPanel.getTable().addPropertyChangeListener("selectionModel", this.listSelectionManager); this.selectedPluginPanel.getTable().addPropertyChangeListener("selectionModel", this.listSelectionManager); /* configuration of availablePluginPanel */ IntrospectionSibTypeListTreeTableModel availableTreeTableModel = new IntrospectionSibTypeListTreeTableModel(); final GenericTreeModel availableTreeModel = new VisualizationTreeModel(); /* list of RepositoryPluginContainer */ SibList availableItems = new SibList(20); availableItems.addHierarchicalPropertyChangeListener(this); try { availableItems.setName(rb.getString("availableRepositoriesLabel")); availableItems.setAllowedClass(RepositoryPluginContainer.class); } catch (PropertyVetoException ex) { ex.printStackTrace(); } availableTreeModel.setRoot(availableItems); availableTreeTableModel.setInnerConfigurableTreeModel(availableTreeModel); availableTreeTableModel.getInnerTableModel().addPropertyDeclarations(decl_choice); this.availablePluginPanel.getTable().setTreeTableModel(availableTreeTableModel); availableTreeTableModel.setPathConverter( new PageablePathConverter(this.availablePluginPanel.getTable().getTreeRenderer())); /* configuration of selectedPluginPanel */ IntrospectionSibTypeListTreeTableModel selectedTreeTableModel = new IntrospectionSibTypeListTreeTableModel(); final GenericTreeModel selectedTreeModel = new VisualizationTreeModel(); /* list of RepositoryPluginContainer */ SibList selectedItems = new SibList(20); selectedItems.addHierarchicalPropertyChangeListener(this); try { selectedItems.setName(rb.getString("selectedRepositoriesLabel")); selectedItems.setAllowedClass(Plugin.class); } catch (PropertyVetoException ex) { ex.printStackTrace(); } selectedTreeModel.setRoot(selectedItems); selectedTreeTableModel.setInnerConfigurableTreeModel(selectedTreeModel); selectedTreeTableModel.getInnerTableModel().addPropertyDeclarations(decl_choice); this.selectedPluginPanel.getTable().setTreeTableModel(selectedTreeTableModel); selectedTreeTableModel .setPathConverter(new PageablePathConverter(this.selectedPluginPanel.getTable().getTreeRenderer())); SibList repositories = null; try { repositories = transSiberian.getRepositories(); } catch (ConfigurationException ex) { // TODO ex.printStackTrace(); } if (repositories == null || repositories.size() == 0) { /* tell user that no repositories are declared */ // TODO : open the module that allow to declare siberia repositories // TODO } /* set of runnable to launch */ Set<Runnable> runnables = new HashSet<Runnable>(repositories.size()); /* add a RepositoryPluginContainer for every declared repository */ synchronized (repositories) { final String waitingLabel = rb.getString("repositoryWaitingLabel"); final String noUpdatesLabel = rb.getString("repositoryNoNewPluginLabel"); final String errorLabel = rb.getString("repositoryErrorLabel"); for (int i = 0; i < repositories.size(); i++) { Object current = repositories.get(i); if (current instanceof SiberiaRepository) { final RepositoryPluginContainer container = RepositoryUtilities .createPluginContainer((SiberiaRepository) current); container.setAllowedClass(SibType.class); /* add one Message to indicate that plugin collect is runnig */ final SibWaitingMessage waitingMsg = new SibWaitingMessage(); try { waitingMsg.setName(waitingLabel); } catch (PropertyVetoException e) { e.printStackTrace(); } container.add(waitingMsg); /* add container to the list */ availableItems.add(container); /* create a runnable and add it to the list of runnable to launch after */ runnables.add(new Runnable() { public void run() { // TODO : to remove, just here to view the waiting message try { Thread.sleep(1000); } catch (InterruptedException ex) { ex.printStackTrace(); } /* launch the collect of plugin for the current container */ SibList plugins = null; InvalidRepositoryException exception = null; try { plugins = transSiberian.getAvailablePlugins(container.getRepository()); } catch (InvalidRepositoryException e) { exception = e; } /* remove the waiting message */ container.remove(waitingMsg); if (exception != null || plugins == null) { /* add an error message to indicate to user that the plugin collect failed */ SibMessage msg = new SibErrorMessage(); try { msg.setName(errorLabel); } catch (PropertyVetoException e) { e.printStackTrace(); } container.add(msg); } else if (plugins.size() == 0) { /* add a message that tell that no plugin is available from this repository */ SibMessage msg = new SibInformationMessage(); try { msg.setName(noUpdatesLabel); } catch (PropertyVetoException e) { e.printStackTrace(); } container.add(msg); } else { /** add plugin */ container.addAll(plugins); } } }); } ; } } // TODO // this.availablePluginPanel.getTable().setPreferredScrollableViewportSize(new java.awt.Dimension(150, 150)); // this.availablePluginPanel.getTable().setPreferredScrollableViewportSize(new Dimension(150, 200)); // this.selectedPluginPanel.getTable().setPreferredScrollableViewportSize(new Dimension(150, 200)); // this.availablePluginPanel.getTable().setPreferredSize(new Dimension(150, 200)); // this.selectedPluginPanel.getTable().setPreferredSize(new Dimension(150, 200)); /** add SibTypeListTreeTablePanel to the main panel */ this.mainPanel.add(this.availablePluginPanel, cc.xy(1, 1, cc.FILL, cc.FILL)); this.mainPanel.add(this.selectedPluginPanel, cc.xy(5, 1, cc.FILL, cc.FILL)); /* launch executor service */ if (this.executor == null) { if (runnables != null && runnables.size() > 0) { this.executor = Executors.newFixedThreadPool(runnables.size()); } else { this.executor = Executors.newSingleThreadExecutor(); } } if (runnables != null) { Iterator<Runnable> it = runnables.iterator(); while (it.hasNext()) { Runnable current = it.next(); if (current != null) { this.executor.submit(current); } } } }