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

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

Introduction

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

Prototype

public void appendRow(RowSpec rowSpec) 

Source Link

Document

Appends the given row specification to the bottom of all rows.

Usage

From source file:util.ui.PluginChooserDlg.java

License:Open Source License

private void init(ProgramReceiveIf[] pluginArr, String description, ProgramReceiveIf caller,
        Hashtable<ProgramReceiveIf, ArrayList<ProgramReceiveTarget>> targetTable,
        final ProgramReceiveTarget[] disabledReceiveTargets) {
    mOkWasPressed = false;/* w w  w.j  av  a 2  s .co  m*/
    setTitle(mLocalizer.msg("title", "Choose Plugins"));
    UiUtilities.registerForClosing(this);

    if (pluginArr == null) {
        mPluginArr = new ProgramReceiveIf[] {};
        mResultPluginArr = new ProgramReceiveIf[] {};
        mReceiveTargetTable = new Hashtable<ProgramReceiveIf, ArrayList<ProgramReceiveTarget>>();
    } else {
        mPluginArr = pluginArr;
        mResultPluginArr = pluginArr;
        mReceiveTargetTable = targetTable;
    }

    JPanel contentPane = (JPanel) getContentPane();
    FormLayout layout = new FormLayout("fill:pref:grow", "");
    contentPane.setLayout(layout);
    contentPane.setBorder(Borders.DLU4_BORDER);
    CellConstraints cc = new CellConstraints();

    ProgramReceiveIf[] tempProgramReceiveIf = Plugin.getPluginManager().getReceiveIfs(caller, null);

    ArrayList<ProgramReceiveIf> disabledList = new ArrayList<ProgramReceiveIf>(
            disabledReceiveTargets != null ? disabledReceiveTargets.length : 0);

    if (disabledReceiveTargets != null) {
        for (ProgramReceiveTarget target : disabledReceiveTargets) {
            disabledList.add(target.getReceifeIfForIdOfTarget());
        }
    }

    if (caller != null) {
        ArrayList<ProgramReceiveIf> list = new ArrayList<ProgramReceiveIf>();

        for (ProgramReceiveIf tempIf : tempProgramReceiveIf) {
            if (tempIf.getId().compareTo(caller.getId()) != 0) {
                list.add(tempIf);
            }
        }

        mPluginItemList = new SelectableItemList(mResultPluginArr, list.toArray(), disabledList.toArray());
    } else {
        mPluginItemList = new SelectableItemList(mResultPluginArr, tempProgramReceiveIf,
                disabledList.toArray());
    }

    mPluginItemList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    int pos = 1;
    layout.appendRow(RowSpec.decode("fill:default:grow"));
    layout.appendRow(RowSpec.decode("3dlu"));

    if (targetTable != null) {
        JSplitPane splitPane = new JSplitPane();

        splitPane.setLeftComponent(mPluginItemList);

        final JPanel targetPanel = new JPanel();
        targetPanel.setLayout(new BorderLayout());

        // JScrollPane targetScrollPane = new JScrollPane(mTargetPanel);
        // targetScrollPane.getVerticalScrollBar().setUnitIncrement(10);

        mPluginItemList.addListSelectionListener(new ListSelectionListener() {
            public void valueChanged(ListSelectionEvent e) {
                try {
                    if (!e.getValueIsAdjusting()) {
                        targetPanel.removeAll();
                        SelectableItem pluginItem = (SelectableItem) mPluginItemList.getSelectedValue();

                        final ProgramReceiveIf plugin = (ProgramReceiveIf) pluginItem.getItem();
                        mCurrentTargets = plugin.getProgramReceiveTargets();

                        if (mCurrentTargets != null) {
                            Arrays.sort(mCurrentTargets);
                            ArrayList<ProgramReceiveTarget> targets = mReceiveTargetTable.get(plugin);
                            if (targets == null || !pluginItem.isSelected()) {
                                targets = new ArrayList<ProgramReceiveTarget>();
                            }
                            if (pluginItem.isSelected() && targets.isEmpty()) {
                                targets.add(mCurrentTargets[0]);
                            }
                            mReceiveTargetTable.put(plugin, targets);
                            final SelectableItemList targetList = new SelectableItemList(targets.toArray(),
                                    mCurrentTargets, disabledReceiveTargets);
                            targetPanel.add(targetList, BorderLayout.CENTER);
                            targetList.addListSelectionListener(new ListSelectionListener() {

                                @Override
                                public void valueChanged(ListSelectionEvent listEvent) {
                                    if (!listEvent.getValueIsAdjusting()) {
                                        SelectableItem currPluginItem = (SelectableItem) mPluginItemList
                                                .getSelectedValue();
                                        ProgramReceiveIf currPlugin = (ProgramReceiveIf) currPluginItem
                                                .getItem();
                                        Object[] sel = targetList.getSelection();
                                        ArrayList<ProgramReceiveTarget> selTargets = new ArrayList<ProgramReceiveTarget>(
                                                sel.length);
                                        for (Object obj : sel) {
                                            selTargets.add((ProgramReceiveTarget) obj);
                                        }
                                        if (currPluginItem.isSelected() != (sel.length > 0)) {
                                            currPluginItem.setSelected(sel.length > 0);
                                            mPluginItemList.updateUI();
                                        }
                                        mReceiveTargetTable.put(currPlugin, selTargets);
                                    }
                                }
                            });
                        }
                        targetPanel.updateUI();

                    }
                } catch (Exception e1) {
                    e1.printStackTrace();
                }
            }
        });

        splitPane.setRightComponent(targetPanel);
        contentPane.add(splitPane, cc.xy(1, pos));

    } else {
        contentPane.add(mPluginItemList, cc.xy(1, pos));
    }
    mPluginItemList.setSelectedIndex(0);

    pos += 2;

    if (description != null) {
        JLabel lb = new JLabel(description);
        layout.appendRow(RowSpec.decode("pref"));
        layout.appendRow(RowSpec.decode("3dlu"));
        contentPane.add(lb, cc.xy(1, pos));
        pos += 2;
    }

    JButton okBt = new JButton(Localizer.getLocalization(Localizer.I18N_OK));
    JButton cancelBt = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));

    okBt.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent event) {
            mOkWasPressed = true;
            Object[] o = mPluginItemList.getSelection();
            mResultPluginArr = new ProgramReceiveIf[o.length];
            for (int i = 0; i < o.length; i++) {
                mResultPluginArr[i] = (ProgramReceiveIf) o[i];
            }
            close();
        }
    });

    cancelBt.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent event) {
            mOkWasPressed = false;
            mResultPluginArr = null;
            close();
        }
    });

    ButtonBarBuilder2 builder = new ButtonBarBuilder2();
    builder.addGlue();
    builder.addButton(new JButton[] { okBt, cancelBt });

    layout.appendRow(RowSpec.decode("pref"));
    contentPane.add(builder.getPanel(), cc.xy(1, pos));

    Settings.layoutWindow("pluginChooserDlg", this, new Dimension(350, 300));

    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
    addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            close();
        }
    });
}

From source file:widgetplugin.WidgetSettingsTab.java

License:Open Source License

public JPanel createSettingsPanel() {
    int currentRow = 1;
    final FormLayout layout = new FormLayout("5dlu, pref, 3dlu, pref, fill:default:grow", "");
    final PanelBuilder panelBuilder = new PanelBuilder(layout);
    final CellConstraints cc = new CellConstraints();

    // settings/*from   ww w. j a va2 s .  com*/
    layout.appendRow(RowSpec.decode("pref"));
    layout.appendRow(RowSpec.decode("5dlu"));
    layout.appendRow(RowSpec.decode("pref"));
    layout.appendRow(RowSpec.decode("5dlu"));

    // port
    final JLabel label = new JLabel(mLocalizer.msg("portNumber", "Port number"));
    panelBuilder.add(label, cc.xy(2, currentRow));

    final SpinnerNumberModel model = new SpinnerNumberModel(34567, 1, 65535, 1);
    mSpinner = new JSpinner(model);
    mSpinner.setValue(mSettings.getPortNumber());
    panelBuilder.add(mSpinner, cc.xy(4, currentRow));

    // refresh
    mRefresh = new JCheckBox(mLocalizer.msg("refresh", "Automatic refresh"));
    mRefresh.setSelected(mSettings.getRefresh());
    panelBuilder.add(mRefresh, cc.xyw(2, (currentRow += 2), 4));
    /*
     * // layout settings layout.appendRow(RowSpec.decode("pref"));
     * layout.appendRow(RowSpec.decode("2dlu"));
     * layout.appendRow(RowSpec.decode("fill:default:grow"));
     * 
     * // layout panelBuilder.addSeparator(mLocalizer.msg("layout", "Layout"),
     * cc.xyw(1, (currentRow += 2), 5));
     */
    return panelBuilder.getPanel();
}

From source file:xmet.tools.metadata.editor.views.custom.Panel.java

License:Open Source License

/**
 * Removes the repeated panel.// ww w.  j  a v  a2 s  .c o m
 * @param panel the panel
 */
private void removeRepeatedPanel(final Panel panel) {
    panels.remove(panel);
    /* remove everything and reconstruct the panel */
    removeAll();
    /* create and set default layout */
    final FormLayout layout = new FormLayout("$ugap,f:d,$rgap,f:d,$rgap,f:p:grow,$ugap", "$ugap,f:d,$rgap");
    setLayout(layout);
    /* add the Add button */
    final JButton btnAdd = new JButton("Add");
    btnAdd.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(final ActionEvent arg0) {
            addRepeatedPanel();
        }

    });
    this.add(btnAdd, CC.xywh(2, 2, 1, 1));
    /* add all repeated panels one by one */
    for (final Panel rPanel : panels) {
        layout.appendRow(RowSpec.decode("$rgap"));
        layout.appendRow(RowSpec.decode("f:d"));
        this.add(rPanel, CC.xywh(2, layout.getRowCount(), layout.getColumnCount() - 2, 1));

        layout.appendRow(RowSpec.decode("$rgap"));
        layout.appendRow(RowSpec.decode("f:d"));
        final JButton btnRemove = new JButton("Remove");
        btnRemove.addActionListener(new RemovePanelAction(rPanel));
        this.add(btnRemove, CC.xywh(2, layout.getRowCount(), 1, 1));
    }
    revalidate();
    this.repaint();
}