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:uk.ac.ebi.caf.component.factory.PreferencePanelFactory.java

License:Open Source License

public static void getPreferenceEditor(final FilePreference preference, final JComponent component,
        final Action onFocusLost, FormLayout layout) {

    final JLabel label = LabelFactory.newFormLabel(preference.getName(), preference.getDescription());
    final JTextField field = FieldFactory.newField(preference.get().getAbsolutePath());

    final JButton browse = ButtonFactory.newCleanButton(new AbstractAction("Browse") {
        @Override//from   ww w .j  a  v a2  s.  c  om
        public void actionPerformed(ActionEvent e) {
            chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
            chooser.setSelectedFile(preference.get());
            int choice = chooser.showOpenDialog(component);
            if (choice == JFileChooser.APPROVE_OPTION) {
                field.setText(chooser.getSelectedFile().getAbsolutePath());
                preference.put(chooser.getSelectedFile());
                onFocusLost.actionPerformed(
                        new ActionEvent(preference, ActionEvent.ACTION_PERFORMED, "File Choosen"));
            }
        }
    });

    component.add(label, cc.xy(1, layout.getRowCount()));
    component.add(field, cc.xy(3, layout.getRowCount()));
    component.add(browse, cc.xy(5, layout.getRowCount()));
    layout.appendRow(new RowSpec(Sizes.DLUY4));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));

    // fires to change the preference an the focus lost action
    final Timer timer = new Timer(1750, new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            File value = new File(field.getText());
            if (!value.equals(preference.get())) {
                if (field.getText().isEmpty()) {
                    field.setText(preference.getDefault().getAbsolutePath());
                } else {
                    preference.put(value);
                    onFocusLost.actionPerformed(e);
                }
            }
        }
    });
    timer.setRepeats(false);

    field.getDocument().addDocumentListener(new DocumentListener() {
        @Override
        public void insertUpdate(DocumentEvent e) {
            timer.restart();
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            timer.restart();
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            timer.restart();
        }
    });

}

From source file:uk.ac.ebi.mnb.dialog.file.NewGeneProduct.java

License:Open Source License

@Override
public JPanel getForm() {
    JPanel panel = super.getForm();

    FormLayout layout = (FormLayout) panel.getLayout();
    layout.appendRow(new RowSpec(Sizes.DLUY4));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));

    CellConstraints cc = new CellConstraints();

    Box buttons = Box.createHorizontalBox();
    buttons.add(protein);//from w  ww. j a  v  a  2s . c o  m
    buttons.add(trna);
    buttons.add(rrna);
    protein.setSelected(true);
    panel.add(buttons, cc.xyw(1, layout.getRowCount(), layout.getColumnCount()));

    return panel;
}

From source file:uk.ac.ebi.mnb.dialog.file.NewReaction.java

License:Open Source License

@Override
public JPanel getForm() {

    JPanel panel = super.getForm();

    equation = new SuggestionField(this, 5, new ReactionSuggestionHandler(), new ReplacementHandler());

    FormLayout layout = (FormLayout) panel.getLayout();
    layout.appendRow(new RowSpec(Sizes.DLUY4));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));
    JLabel label = LabelFactory.newFormLabel("Reaction Equation",
            "Enter a text equation for your reaction (e.g. 1 A + B -> C [e])");
    label.setHorizontalAlignment(JLabel.LEADING);
    panel.add(label, cc.xyw(1, layout.getRowCount(), layout.getColumnCount()));
    layout.appendRow(new RowSpec(Sizes.DLUY4));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));
    panel.add(equation, cc.xyw(1, layout.getRowCount(), layout.getColumnCount()));

    return panel;
}

From source file:uk.ac.ebi.mnb.dialog.tools.curate.MetaboliteCurator.java

License:Open Source License

@Override
public JPanel getForm() {

    options = super.getForm();

    FormLayout layout = new FormLayout("p:grow");
    options.setLayout(layout);//from  w  ww.  java  2s  . com

    for (int i = 0; i < modules.length; i++) {
        CrossreferenceModule module = modules[i];

        layout.appendRow(new RowSpec(Sizes.PREFERRED));

        String moduleDescription = "<html>" + module.getDescription() + " [<b>" + KEY_STROKE_SYMBOL + (i + 1)
                + "</b>]</html>";
        final JComponent component = module.getComponent();
        component.setBackground(getBackground());
        final ExpandableComponentGroup expanding = new ExpandableComponentGroup(moduleDescription, component,
                this);
        // allows quick switching with number keys
        expanding.registerKeyboardAction(new AbstractAction() {

            public void actionPerformed(ActionEvent e) {
                expanding.toggle();
                options.revalidate();
            }
        }, KeyStroke.getKeyStroke(KEY_STROKE_MASK + " " + Integer.toString(i + 1)),
                JComponent.WHEN_IN_FOCUSED_WINDOW);
        options.add(expanding, cc.xy(1, layout.getRowCount()));
        layout.appendRow(new RowSpec(Sizes.DLUY4));
    }

    return options;

}

From source file:uk.ac.ebi.mnb.importer.xls.wizzard.ReactionColumnChooser.java

License:Open Source License

public ReactionColumnChooser(ExcelHelper helper, ExcelModelProperties properties) {
    super();/*from w  w w . ja v a  2 s.  co m*/

    this.helper = helper;
    this.properties = properties;

    columns.add("-"); // no selection
    for (char c = 'A'; c <= 'Z'; ++c) {
        columns.add(Character.toString(c));
    }

    start = new JSpinner(new SpinnerNumberModel(1, 1, 4000, 1));
    end = new JSpinner(new SpinnerNumberModel(1, 1, 4000, 1));

    abbreviation = ComboBoxFactory.newComboBox(columns);
    description = ComboBoxFactory.newComboBox(columns);

    equation = ComboBoxFactory.newComboBox(columns);
    classification = ComboBoxFactory.newComboBox(columns);

    subsystem = ComboBoxFactory.newComboBox(columns);
    source = ComboBoxFactory.newComboBox(columns);

    locus = ComboBoxFactory.newComboBox(columns);

    FormLayout layout = new FormLayout("right:p:grow, 4dlu, min, 4dlu, right:p:grow, 4dlu, min", "p");

    // content panel
    setLayout(layout);

    removeAll();

    add(LabelFactory.newFormLabel("Start Row"), cc.xy(1, layout.getRowCount()));
    add(start, cc.xy(3, layout.getRowCount()));
    add(LabelFactory.newFormLabel("End Row"), cc.xy(5, layout.getRowCount()));
    add(end, cc.xy(7, layout.getRowCount()));

    layout.appendRow(new RowSpec(Sizes.DLUY2));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));

    add(new JSeparator(), cc.xyw(1, layout.getRowCount(), 7));

    layout.appendRow(new RowSpec(Sizes.DLUY2));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));

    add(LabelFactory.newFormLabel("Identifier/Abbreviation"), cc.xy(1, layout.getRowCount()));
    add(abbreviation, cc.xy(3, layout.getRowCount()));
    add(LabelFactory.newFormLabel("Name/Description"), cc.xy(5, layout.getRowCount()));
    add(description, cc.xy(7, layout.getRowCount()));

    layout.appendRow(new RowSpec(Sizes.DLUY2));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));

    add(LabelFactory.newFormLabel("Reaction Equation"), cc.xy(1, layout.getRowCount()));
    add(equation, cc.xy(3, layout.getRowCount()));
    add(LabelFactory.newFormLabel("Classification (EC/TC Number)"), cc.xy(5, layout.getRowCount()));
    add(classification, cc.xy(7, layout.getRowCount()));

    layout.appendRow(new RowSpec(Sizes.DLUY2));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));

    add(LabelFactory.newFormLabel("Subsystem/Reaction type"), cc.xy(1, layout.getRowCount()));
    add(subsystem, cc.xy(3, layout.getRowCount()));
    add(LabelFactory.newFormLabel("Source/Reference:"), cc.xy(5, layout.getRowCount()));
    add(source, cc.xy(7, layout.getRowCount()));

    layout.appendRow(new RowSpec(Sizes.DLUY2));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));

    add(LabelFactory.newFormLabel("Locus"), cc.xy(1, layout.getRowCount()));
    add(locus, cc.xy(3, layout.getRowCount()));

    layout.appendRow(new RowSpec(Sizes.DLUY2));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));

    JPanel extra = PanelFactory.createDialogPanel("right:p:grow, 4dlu, min, 4dlu, right:p:grow, 4dlu, min",
            "p, 2dlu, p, 2dlu, p");

    deltaG = ComboBoxFactory.newComboBox(columns);
    deltaGError = ComboBoxFactory.newComboBox(columns);
    minFlux = ComboBoxFactory.newComboBox(columns);
    maxFlux = ComboBoxFactory.newComboBox(columns);
    direction = ComboBoxFactory.newComboBox(columns);

    extra.add(LabelFactory.newFormLabel("Free energy / G"), cc.xy(1, 1));
    extra.add(deltaG, cc.xy(3, 1));
    extra.add(LabelFactory.newFormLabel("Free energy / G (error)"), cc.xy(5, 1));
    extra.add(deltaGError, cc.xy(7, 1));

    extra.add(LabelFactory.newFormLabel("Lower Bound Flux"), cc.xy(1, 3));
    extra.add(minFlux, cc.xy(3, 3));
    extra.add(LabelFactory.newFormLabel("Upper Bound Flux"), cc.xy(5, 3));
    extra.add(maxFlux, cc.xy(7, 3));

    extra.add(LabelFactory.newFormLabel("Direction"), cc.xy(1, 5));
    extra.add(direction, cc.xy(3, 5));

    add(new ExpandableComponentGroup("Extra Columns", extra),
            cc.xyw(1, layout.getRowCount(), 7, CellConstraints.FILL, CellConstraints.FILL));

    layout.appendRow(new RowSpec(Sizes.DLUY2));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));

    add(new JSeparator(), cc.xyw(1, layout.getRowCount(), 7));

    layout.appendRow(new RowSpec(Sizes.DLUY2));
    layout.appendRow(new RowSpec(Sizes.PREFERRED));

    table = new SelectionTable(helper);

    JScrollPane pane = new BorderlessScrollPane(table, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    RowNumberTable rnt = new RowNumberTable(table);
    pane.setRowHeaderView(rnt);
    pane.setCorner(JScrollPane.UPPER_LEFT_CORNER, rnt.getTableHeader());
    pane.setPreferredSize(new Dimension(800, table.getRowHeight() * 10));
    add(pane, cc.xyw(1, layout.getRowCount(), 7));

    // set previous selections
    Preferences pref = Preferences.userNodeForPackage(ReactionColumnChooser.class);
    start.setValue(pref.getInt(properties.getPreferenceKey("rxn.start"), 1));
    end.setValue(pref.getInt(properties.getPreferenceKey("rxn.end"), 10));
    abbreviation.setSelectedIndex(pref.getInt(properties.getPreferenceKey(ABBREVIATION), 0));
    description.setSelectedIndex(pref.getInt(properties.getPreferenceKey(DESCRIPTION), 0));
    equation.setSelectedIndex(pref.getInt(properties.getPreferenceKey(EQUATION), 0));
    classification.setSelectedIndex(pref.getInt(properties.getPreferenceKey(CLASSIFICATION), 0));
    subsystem.setSelectedIndex(pref.getInt(properties.getPreferenceKey(SUBSYSTEM), 0));
    source.setSelectedIndex(pref.getInt(properties.getPreferenceKey(SOURCE), 0));
    locus.setSelectedIndex(pref.getInt(properties.getPreferenceKey(LOCUS), 0));
    minFlux.setSelectedIndex(pref.getInt(properties.getPreferenceKey(MIN_FLUX), 0));
    maxFlux.setSelectedIndex(pref.getInt(properties.getPreferenceKey(MAX_FLUX), 0));
    deltaG.setSelectedIndex(pref.getInt(properties.getPreferenceKey(FREE_ENERGY), 0));
    deltaGError.setSelectedIndex(pref.getInt(properties.getPreferenceKey(FREE_ENERGY_ERROR), 0));
    direction.setSelectedIndex(pref.getInt(properties.getPreferenceKey(DIRECTION), 0));

    // listeners to change table header name
    abbreviation.addActionListener(new TableHeaderChanger(abbreviation, "Abbreviation"));
    description.addActionListener(new TableHeaderChanger(description, "Description"));
    equation.addActionListener(new TableHeaderChanger(equation, "Equation"));
    classification.addActionListener(new TableHeaderChanger(classification, "Classification"));
    source.addActionListener(new TableHeaderChanger(source, "Source"));
    subsystem.addActionListener(new TableHeaderChanger(subsystem, "Subsystem"));

    // Spinner listeners for shading the table
    start.addChangeListener(new ChangeListener() {

        public void stateChanged(ChangeEvent ce) {
            table.setStart((Integer) start.getValue());
            repaint();
        }
    });
    end.addChangeListener(new ChangeListener() {

        public void stateChanged(ChangeEvent ce) {
            table.setEnd((Integer) end.getValue());
            repaint();
        }
    });

}

From source file:uk.ac.ebi.mnb.view.entity.gene.GenePanel.java

License:Open Source License

/**
 * Appends a JTextPane displaying the product sequence to the basic
 * information panel//from  ww  w.j a v a 2  s . co m
 *
 * @return
 */
@Override
public JPanel getBasicPanel() {

    JPanel panel = super.getBasicPanel();

    FormLayout layout = (FormLayout) panel.getLayout();
    layout.appendRow(new RowSpec(Sizes.PREFERRED));
    sequencePane = new BorderlessScrollPane(sequence);
    sequencePane.setPreferredSize(new Dimension(500, 80));
    panel.add(sequencePane, cc.xyw(1, layout.getRowCount(), 5));

    return panel;

}

From source file:uk.ac.ebi.mnb.view.entity.reaction.ReactionPanel.java

License:Open Source License

@Override
public JPanel getBasicPanel() {

    JPanel panel = super.getBasicPanel();

    FormLayout layout = (FormLayout) panel.getLayout();

    participantXref = PanelFactory.createInfoPanel();

    // add a row/*from  ww  w . j  a v a  2  s.  c  o m*/
    layout.appendRow(new RowSpec(RowSpec.CENTER, Sizes.DLUY4, RowSpec.DEFAULT_GROW));
    layout.appendRow(new RowSpec(RowSpec.CENTER, Sizes.PREFERRED, RowSpec.DEFAULT_GROW));
    panel.add(reactionLabel, cc.xyw(1, layout.getRowCount(), layout.getColumnCount(), cc.CENTER, cc.CENTER));

    layout.appendRow(new RowSpec(RowSpec.CENTER, Sizes.PREFERRED, RowSpec.NO_GROW));
    panel.add(participantXref, cc.xyw(1, layout.getRowCount(), layout.getColumnCount(), cc.CENTER, cc.CENTER));

    layout.appendRow(new RowSpec(RowSpec.CENTER, Sizes.PREFERRED, RowSpec.NO_GROW));
    panel.add(editor.getComponent(),
            cc.xyw(1, layout.getRowCount(), layout.getColumnCount(), cc.CENTER, cc.CENTER));

    editor.getComponent().setVisible(false);

    return panel;

}

From source file:uk.ac.ebi.mnb.view.entity.tasks.TaskPanel.java

License:Open Source License

@Override
public JPanel getBasicPanel() {
    JPanel panel = super.getBasicPanel();
    FormLayout layout = (FormLayout) panel.getLayout();
    layout.appendRow(new RowSpec(Sizes.PREFERRED));
    panel.add(command, cc.xyw(1, layout.getRowCount(), 5));
    return panel;
}

From source file:util.ui.ChannelChooserDlg.java

License:Open Source License

private void init(Channel[] channelArr, String description, int type) {
    setTitle(mLocalizer.msg("chooseChannels", "choose channels"));
    UiUtilities.registerForClosing(this);

    if (channelArr == null) {
        mChannelArr = new Channel[] {};
        mResultChannelArr = new Channel[] {};
    } else {//from  w  w  w.ja  va2  s . co  m
        mChannelArr = channelArr;
        mResultChannelArr = channelArr;
    }

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

    if (type == ORDER_CHOOSER) {
        mChannelOrderChooser = new OrderChooser(mResultChannelArr,
                Plugin.getPluginManager().getSubscribedChannels());
        mChannelItemList = null;
    } else {
        mChannelItemList = new SelectableItemList(mResultChannelArr,
                Plugin.getPluginManager().getSubscribedChannels());
        mChannelOrderChooser = null;
    }

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

    if (mChannelOrderChooser != null) {
        contentPane.add(mChannelOrderChooser, cc.xy(1, pos));
    } else {
        contentPane.add(mChannelItemList, cc.xy(1, pos));
    }

    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) {
            Object[] o = mChannelOrderChooser != null ? mChannelOrderChooser.getOrder()
                    : mChannelItemList.getSelection();
            mResultChannelArr = new Channel[o.length];
            for (int i = 0; i < o.length; i++) {
                mResultChannelArr[i] = (Channel) o[i];
            }
            setVisible(false);
        }
    });

    cancelBt.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent event) {
            mResultChannelArr = null;
            setVisible(false);
        }
    });

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

    pack();
}

From source file:util.ui.MarkerChooserDlg.java

License:Open Source License

private void init(Marker[] channelArr, String description) {
    setTitle(mLocalizer.msg("title", "Choose Plugins"));
    UiUtilities.registerForClosing(this);

    if (channelArr == null) {
        mPluginArr = new Marker[] {};
        mResultPluginArr = new Marker[] {};
    } else {/*from   w  w  w  .jav  a  2  s.  c  om*/
        mPluginArr = channelArr;
        mResultPluginArr = channelArr;
    }

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

    PluginAccess[] pluginAccess = Plugin.getPluginManager().getActivatedPlugins();

    ArrayList<Marker> list = new ArrayList<Marker>();

    list.add(FavoritesPluginProxy.getInstance());
    list.add(ReminderPluginProxy.getInstance());

    for (PluginAccess plugin : pluginAccess) {
        if (plugin.getMarkIcon() != null) {
            list.add(plugin);
        }
    }
    Collections.sort(list, new Comparator<Marker>() {
        public int compare(Marker arg0, Marker arg1) {
            return (arg0.toString().compareTo(arg1.toString()));
        }
    });

    mPluginItemList = new SelectableItemList(mResultPluginArr, list.toArray());

    int pos = 1;
    layout.appendRow(RowSpec.decode("fill:default:grow"));
    layout.appendRow(RowSpec.decode("3dlu"));
    contentPane.add(mPluginItemList, cc.xy(1, pos));

    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) {
            Object[] o = mPluginItemList.getSelection();
            mResultPluginArr = new Marker[o.length];
            for (int i = 0; i < o.length; i++) {
                mResultPluginArr[i] = (Marker) o[i];
            }
            setVisible(false);
        }
    });

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

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

    pack();
}