Example usage for com.jgoodies.forms.layout FormLayout setColumnGroups

List of usage examples for com.jgoodies.forms.layout FormLayout setColumnGroups

Introduction

In this page you can find the example usage for com.jgoodies.forms.layout FormLayout setColumnGroups.

Prototype

public void setColumnGroups(int[][] groupOfIndices) 

Source Link

Document

Sets the column groups, where each column in a group gets the same group wide width.

Usage

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);
            }
        }
    }
}