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

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

Introduction

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

Prototype

public int getColumnCount() 

Source Link

Document

Returns the number of columns in this layout.

Usage

From source file:loci.ome.notes.Notes.java

License:Open Source License

/** Load and apply the given template. */
public void loadTemplate(Template t) {
    currentTemplate = t;/*w  w  w  . j av  a 2s .c  o  m*/

    tabPane.removeAll();

    // retrieve defined GUI parameters
    setSize(new Dimension(currentTemplate.getDefaultWidth(), currentTemplate.getDefaultHeight()));

    font = new Font(currentTemplate.getFontStyle(), Font.PLAIN, currentTemplate.getFontSize());

    int[] fore = currentTemplate.getFontColor();
    int[] back = currentTemplate.getBackgroundColor();

    foreground = new Color(fore[0], fore[1], fore[2]);
    background = new Color(back[0], back[1], back[2]);

    // set up all of the defined tabs and fields

    TemplateTab[] tabs = currentTemplate.getTabs();

    for (int i = 0; i < tabs.length; i++) {
        Vector groups = tabs[i].getAllGroups();
        Vector fields = tabs[i].getAllFields();

        JScrollPane scroll = new JScrollPane();
        JPanel panel = new JPanel();

        String rowString = "pref,";
        String colString = "pref,pref:grow,pref:grow,pref:grow,";

        int numRows = tabs[i].getRows();
        int numColumns = tabs[i].getColumns();

        for (int j = 0; j < numRows; j++) {
            rowString += "pref:grow,pref,";
        }

        for (int j = 0; j < numColumns; j++) {
            colString += "pref:grow,pref,pref:grow,pref,";
        }

        FormLayout l = new FormLayout(colString, rowString);
        panel.setLayout(l);

        scroll.getViewport().add(panel);

        int[] rowNumber = new int[l.getColumnCount()];
        Arrays.fill(rowNumber, 2);

        for (int j = 0; j < groups.size(); j++) {
            TemplateGroup group = (TemplateGroup) groups.get(j);
            for (int r = 0; r < group.getRepetitions(); r++) {
                FormLayout layout = (FormLayout) panel.getLayout();

                int col = 2;

                if (currentTemplate.editTemplateFields()) {
                    JButton add = new JButton("+");
                    add.setActionCommand("cloneGroup " + i + "-" + j);
                    add.addActionListener(this);
                    panel.add(add, CC.xy(col, rowNumber[col - 1]));
                    rowNumber[col - 1]++;
                    col++;

                    JButton remove = new JButton("-");
                    remove.setActionCommand("removeGroup" + i + "-" + j);
                    remove.addActionListener(this);
                    panel.add(remove, CC.xy(col, rowNumber[col - 1]));
                    rowNumber[col - 1]++;
                    col++;
                }

                panel.add(new JLabel(group.getName() + " #" + (r + 1)), CC.xy(col, rowNumber[col - 1]));
                rowNumber[col - 1] += 3;
                col++;

                for (int k = 0; k < group.getNumFields(); k++) {
                    TemplateField field = group.getField(r, k);
                    setupField(field, col, r, rowNumber, panel);
                }
                rowNumber[col - 1]++;
            }
        }

        for (int j = 0; j < fields.size(); j++) {
            TemplateField f = tabs[i].getField(j);
            setupField(f, 2, 0, rowNumber, panel);
        }

        tabPane.add(scroll, tabs[i].getName());
    }

    setFontAndColors(this);
    changeEditable(currentTemplate.isEditable(), this);
    progress.setString("");

    pack();
}

From source file:org.drools.examples.conway.ui.ConwayGUI.java

License:Apache License

private JPanel createControlPanel() {
    final FormLayout layout = new FormLayout("pref, 3dlu, pref, 3dlu:grow",
            "pref, 15dlu, pref, 15dlu, pref, 3dlu:grow, pref");
    final PanelBuilder builder = new PanelBuilder(layout);
    final CellConstraints cc = new CellConstraints();

    final String title = ConwayApplicationProperties.getProperty("app.title");
    builder.addLabel(title, cc.xywh(1, 1, layout.getColumnCount(), 1));

    final String info = ConwayApplicationProperties.getProperty("app.description");
    builder.addLabel(info, cc.xywh(1, 3, layout.getColumnCount(), 1));

    final String patternLabel = ConwayApplicationProperties.getProperty("pattern.label");
    builder.addLabel(patternLabel, cc.xy(1, 5));

    builder.add(this.patternSelector, cc.xy(3, 5));
    final JPanel buttonPanel = ButtonBarFactory.buildLeftAlignedBar(this.nextGenerationButton,
            this.startStopButton, this.clearButton);
    builder.add(buttonPanel, cc.xywh(1, 7, layout.getColumnCount(), 1));

    final Border etchedBorder = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
    final Border outerBlankBorder = BorderFactory.createEmptyBorder(5, 5, 5, 5);
    final Border innerBlankBorder = BorderFactory.createEmptyBorder(5, 5, 5, 5);
    final Border border = BorderFactory.createCompoundBorder(
            BorderFactory.createCompoundBorder(outerBlankBorder, etchedBorder), innerBlankBorder);
    builder.setBorder(border);/*from   ww  w  .  j a v a 2  s.  c  o  m*/
    return builder.getPanel();
}

From source file:org.drugis.addis.gui.builder.NetworkMetaAnalysisView.java

License:Open Source License

private JComponent buildMemoryUsageTab() {
    final CellConstraints cc = new CellConstraints();

    final FormLayout header = new FormLayout("fill:0:grow", "p");
    final PanelBuilder builderheader = new PanelBuilder(header);

    final FormLayout layout = new FormLayout("left:0:grow, 3dlu, left:pref, 3dlu, pref, 3dlu, pref, 3dlu, pref",
            "p, 3dlu, p, 3dlu, p, 3dlu, p");
    final int colSpan = layout.getColumnCount();
    final PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();/* w  w w .  j  av a  2s .c  om*/
    int row = 1;

    builder.addSeparator("Memory usage", cc.xyw(1, row, colSpan));
    row += 2;

    builderheader.add(AuxComponentFactory.createTextPane(Help.getHelpText("memoryUsage")), cc.xy(1, 1));

    builder.add(builderheader.getPanel(), cc.xyw(1, row, colSpan));
    row += 2;

    row = ResultsComponentFactory.buildMemoryUsage(d_pm.getConsistencyModel(), "Consistency model", builder,
            layout, row, d_mainWindow);
    row = ResultsComponentFactory.buildMemoryUsage(d_pm.getInconsistencyModel(), "Inconsistency model", builder,
            layout, row, d_mainWindow);
    builder.addSeparator("", cc.xyw(1, row, 3));
    row += 2;
    for (final BasicParameter p : d_pm.getSplitParameters()) {
        row = ResultsComponentFactory.buildMemoryUsage(d_pm.getNodeSplitModel(p),
                "<html>Node Split model:<br />&nbsp;&nbsp;&nbsp; Parameter " + p.getName() + "</html>", builder,
                layout, row, d_mainWindow);
        LayoutUtil.addRow(layout);
        builder.addSeparator("", cc.xyw(1, row, 3));
        row += 2;
    }

    return builder.getPanel();
}

From source file:org.drugis.addis.gui.wizard.AddTreatmentCategorizationWizardStep.java

License:Open Source License

@Override
protected JPanel buildPanel() {
    final FormLayout layout = new FormLayout(
            "left:pref, 3dlu, pref, 3dlu, pref, fill:pref:grow, pref, 3dlu, pref",
            "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p");

    final PanelBuilder builder = new PanelBuilder(layout);

    final CellConstraints cc = new CellConstraints();
    int row = 1;/*from  ww w  .  ja v a 2s . c  o  m*/
    final int colSpan = layout.getColumnCount();

    final JTextField name = BasicComponentFactory
            .createTextField(d_pm.getModel(TreatmentCategorization.PROPERTY_NAME), false);
    name.setColumns(15);

    builder.addLabel("Drug:", cc.xy(1, row));
    final JComboBox drugSelect = AuxComponentFactory.createBoundComboBox(d_domain.getDrugs(), d_pm.getDrug(),
            true);
    builder.add(drugSelect, cc.xy(3, row));
    builder.add(createNewDrugButton(d_pm.getDrug()), cc.xy(5, row));
    d_validator.add(new NonEmptyValueModel(new ComboBoxSelectionModel(drugSelect)));

    builder.addLabel("Name:", cc.xy(7, row));
    builder.add(name, cc.xy(9, row));

    d_pm.getNameAvailableModel().addValueChangeListener(new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            setNameValidBorder(name);
        }
    });

    d_validator.add(new NonEmptyValueModel(d_pm.getModel(TreatmentCategorization.PROPERTY_NAME)));

    row += 2;
    builder.addSeparator("Category labels", cc.xyw(1, row, colSpan));

    row += 2;
    final JComponent categoriesPanel = createCategoriesPanel();
    final JScrollPane catPane = new JScrollPane(categoriesPanel);
    catPane.setPreferredSize(new Dimension(PANEL_WIDTH, 200));
    builder.add(catPane, cc.xyw(1, row, colSpan));

    row += 2;
    builder.addSeparator("Dose criteria", cc.xyw(1, row, colSpan));

    row += 2;
    builder.addLabel("Unit:", cc.xy(1, row));
    builder.add(DoseView.createDoseUnitRow(d_pm.getDoseUnitPresentation(), d_domain.getUnits()),
            cc.xyw(3, row, colSpan - 2));

    row += 2;
    builder.addLabel("Unknown dose:", cc.xy(1, row));
    final JComboBox unknownDoseCombo = BasicComponentFactory
            .createComboBox(new SelectionInList<DecisionTreeNode>((ListModel) d_pm.getOptionsForUnknownDose(),
                    d_pm.getModelForUnknownDose()), new CategoryComboboxRenderer(false));
    builder.add(unknownDoseCombo, cc.xyw(3, row, colSpan - 2));

    row += 2;
    builder.addLabel("Known dose:", cc.xy(1, row));
    final JComboBox knownDoseCombo = BasicComponentFactory
            .createComboBox(new SelectionInList<DecisionTreeNode>((ListModel) d_pm.getOptionsForKnownDose(),
                    d_pm.getModelForKnownDose()), new CategoryComboboxRenderer(false));
    builder.add(knownDoseCombo, cc.xyw(3, row, colSpan - 2));
    return builder.getPanel();
}

From source file:org.drugis.addis.gui.wizard.DoseRangesWizardStep.java

License:Open Source License

@Override
protected JPanel buildPanel() {
    final FormLayout layout = new FormLayout("pref, 3dlu, fill:pref:grow, 3dlu, pref", "p");
    final int fullWidth = layout.getColumnCount();
    final CellConstraints cc = new CellConstraints();
    final PanelBuilder builder = new PanelBuilder(layout);
    int row = 1;//w w  w.  j  ava2s  .  co m

    final DecisionTree tree = d_pm.getBean().getDecisionTree();

    for (final DecisionTreeEdge edge : d_parents) {
        final ChoiceNode parent = (ChoiceNode) tree.getEdgeSource(edge);

        row = LayoutUtil.addRow(layout, row);
        builder.addSeparator(RangeEdge.format(GUIHelper.humanize(parent.getPropertyName()), (RangeEdge) edge),
                cc.xyw(1, row, fullWidth));

        final DecisionTreeNode node = tree.getEdgeTarget(edge);
        if (node instanceof ChoiceNode) {
            final RangeInputBuilder rangeBuilder = new RangeInputBuilder(d_dialog,
                    new RangeInputPresentation(d_pm, (ChoiceNode) node, null));
            row = rangeBuilder.addFamilyToPanel(builder, row);
        } else {
            LeafNode leaf = (LeafNode) node;
            row = LayoutUtil.addRow(layout, row);
            if (leaf.getCategory() == null) {
                builder.addLabel("Range excluded", cc.xy(3, row));
            } else {
                builder.addLabel("Range assigned to " + node.getName(), cc.xy(3, row));
            }
        }
    }
    return builder.getPanel();
}

From source file:org.drugis.addis.gui.wizard.SpecifyDoseTypeWizardStep.java

License:Open Source License

@Override
protected JPanel buildPanel() {
    final FormLayout layout = new FormLayout("left:pref, 3dlu, fill:pref:grow", "p");

    final PanelBuilder builder = new PanelBuilder(layout);
    final CellConstraints cc = new CellConstraints();

    final int colSpan = layout.getColumnCount();
    int row = 1;/*from  w  w  w .  j a  va  2  s . c  om*/
    builder.addSeparator("Dose type", cc.xyw(1, row, colSpan));

    row = LayoutUtil.addRow(layout, row);

    builder.addLabel("Fixed dose", cc.xy(1, row));
    final JComboBox fixedCategoryComboBox = BasicComponentFactory
            .createComboBox(new SelectionInList<DecisionTreeNode>((ListModel) d_pm.getOptionsForFixedDose(),
                    d_pm.getModelForFixedDose()), new CategoryComboboxRenderer(false));
    builder.add(fixedCategoryComboBox, cc.xy(3, row));

    row = LayoutUtil.addRow(layout, row);

    builder.addLabel("Flexible dose", cc.xy(1, row));
    final JComboBox flexibleCategoryComboBox = BasicComponentFactory
            .createComboBox(new SelectionInList<DecisionTreeNode>((ListModel) d_pm.getOptionsForFlexibleDose(),
                    d_pm.getModelForFlexibleDose()), new CategoryComboboxRenderer(false));
    builder.add(flexibleCategoryComboBox, cc.xy(3, row));

    return builder.getPanel();
}

From source file:org.drugis.mtc.gui.AnalysisView.java

License:Open Source License

private JPanel buildRootPanel() {
    CellConstraints cc = new CellConstraints();
    FormLayout layout = new FormLayout("pref, 3dlu, pref, fill:0:grow", "p");
    PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();/*from w  w  w .  j  a v  a2s  . c o  m*/

    int row = LayoutUtil.addRow(layout, 1);
    builder.add(
            TextComponentFactory.createTextPane(boxHtmlText(Help.getHelpText("networkMetaAnalysis")), false),
            cc.xyw(1, row, 4));

    row = LayoutUtil.addRow(layout, row);
    builder.addSeparator("Generate models", cc.xyw(1, 1, layout.getColumnCount()));

    row = LayoutUtil.addRow(layout, row);
    builder.add(new JLabel("Number of chains: "), cc.xy(1, row));
    builder.add(createIntegerField(d_chains), cc.xy(3, row));

    row = LayoutUtil.addRow(layout, row);
    builder.add(new JLabel("Initial values scaling: "), cc.xy(1, row));
    builder.add(createDoubleField(d_scale), cc.xy(3, row));

    row = LayoutUtil.addRow(layout, row);
    builder.add(new JLabel("Tuning iterations: "), cc.xy(1, row));
    builder.add(createIntegerField(d_tuning), cc.xy(3, row));

    row = LayoutUtil.addRow(layout, row);
    builder.add(new JLabel("Simulation iterations: "), cc.xy(1, row));
    builder.add(createIntegerField(d_simulation), cc.xy(3, row));

    row = LayoutUtil.addRow(layout, row);
    builder.add(new JLabel("Thinning interval: "), cc.xy(1, row));
    builder.add(createIntegerField(d_thinning), cc.xy(3, row));

    final JButton button = new JButton("Generate models");
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            final DataSetModel model = d_dataset;
            if (model.getTreatments().size() < 2 || model.getStudies().size() < 2) {
                JOptionPane.showMessageDialog(d_parent,
                        "You need to define at least two studies and treatments.", "Cannot generate model",
                        JOptionPane.WARNING_MESSAGE);
                return;
            }
            if (model.getMeasurementType().getValue() == DataType.NONE) {
                JOptionPane.showMessageDialog(d_parent, "Model generation not possible with 'None' measuments.",
                        "Cannot generate model", JOptionPane.WARNING_MESSAGE);
                return;
            }
            Network network = model.getNetwork();
            if (!GraphUtil.isWeaklyConnected(NetworkModel.createStudyGraph(network))) {
                JOptionPane.showMessageDialog(d_parent,
                        "The network needs to be connected in order to generate an MTC model.",
                        "Cannot generate model", JOptionPane.WARNING_MESSAGE);
                return;
            }
            // FIXME: further validation / checking of data.
            //            final String name = model.getFile() == null ? "unnamed" : model.getFile().getName().replaceFirst(".gemtc$", "");

            d_analyses.clear();
            generateModels();
        }
    });
    PropertyConnector.connectAndUpdate(new CompleteModel(), button, "enabled");
    row = LayoutUtil.addRow(layout, row);
    builder.add(button, cc.xy(3, row));

    return builder.getPanel();
}

From source file:org.drugis.mtc.gui.results.NodeSplitView.java

License:Open Source License

private void initComponents() {
    CellConstraints cc = new CellConstraints();
    FormLayout layout = new FormLayout("pref:grow:fill", "p, 3dlu, p, 3dlu, p, 3dlu, p");
    PanelBuilder builder = new PanelBuilder(layout, this);
    int row = 1;//w  w  w . jav a2  s.  co m

    builder.addSeparator("Density", cc.xy(1, row));
    row += 2;
    builder.add(
            ResultsComponentFactory.buildNodeSplitDensityChart(d_parameter, d_nsWrapper, d_consistencyWrapper),
            cc.xyw(1, row, layout.getColumnCount()));
    row += 2;

    builder.addSeparator("Variance", cc.xy(1, row));
    row += 2;
    builder.add(new TablePanel(ResultsComponentFactory.buildVarianceTable(d_nsWrapper)), cc.xy(1, row));
    row += 2;
}

From source file:phex.gui.dialogs.configwizard.ConfigurationWizardDialog.java

License:Open Source License

private void prepareComponent() {
    CloseEventHandler closeEventHandler = new CloseEventHandler();
    addWindowListener(closeEventHandler);

    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    JPanel contentPanel = new JPanel();
    //JPanel contentPanel = new FormDebugPanel();
    contentPane.add(contentPanel, BorderLayout.CENTER);

    CellConstraints cc = new CellConstraints();
    FormLayout layout = new FormLayout("4dlu, fill:d:grow, 4dlu", // columns
            "p, p, 4dlu, fill:p:grow, 8dlu," + // rows
                    "p, 2dlu, p, 4dlu"); //btn rows
    PanelBuilder contentPB = new PanelBuilder(layout, contentPanel);
    int columnCount = layout.getColumnCount();
    int rowCount = layout.getRowCount();

    DialogBanner banner = new DialogBanner(Localizer.getString("ConfigWizard_BannerHeader"),
            Localizer.getString("ConfigWizard_BannerSubHeader"));
    contentPB.add(banner, cc.xywh(1, 1, columnCount, 1));

    contentPB.add(new JSeparator(), cc.xywh(1, 2, columnCount, 1));

    wizardContentPanel = new JPanel(new GridLayout(1, 1));
    //wizardContentPanel.setLayout(new BorderLayout());
    contentPB.add(wizardContentPanel, cc.xywh(2, 4, 1, 1));

    // button bar
    contentPB.add(new JSeparator(), cc.xywh(1, rowCount - 3, columnCount, 1));

    backBtn = new JButton(Localizer.getString("WizardDialog_Back"));
    backBtn.addActionListener(new BackBtnListener());

    nextBtn = new JButton(Localizer.getString("WizardDialog_Next"));
    nextBtn.setDefaultCapable(true);/*from w  w  w .  j a  v a2 s.c  om*/
    nextBtn.setRequestFocusEnabled(true);
    nextBtn.addActionListener(new NextBtnListener());

    finishBtn = new JButton(Localizer.getString("WizardDialog_Finish"));
    finishBtn.addActionListener(new FinishBtnListener());

    JButton cancelBtn = new JButton(Localizer.getString("WizardDialog_Cancel"));
    cancelBtn.addActionListener(closeEventHandler);

    JPanel btnPanel = ButtonBarFactory.buildWizardBar(backBtn, nextBtn, finishBtn, cancelBtn);
    contentPB.add(btnPanel, cc.xywh(2, rowCount - 1, columnCount - 2, 1));

    setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
    getRootPane().setDefaultButton(nextBtn);

    // set first panel to show...
    updatePage();
    pack();
    int height = Math.max(400, getHeight());
    setSize(height * 5 / 4, height);

    setLocationRelativeTo(getParent());
}

From source file:phex.gui.dialogs.configwizard.DirectoryPanel.java

License:Open Source License

private void prepareComponent() {
    FormLayout layout = new FormLayout("10dlu, right:d, 2dlu, d:grow, 2dlu, d, right:d:grow", // columns
            "p, 3dlu, p, 8dlu, p, 3dlu, p, 8dlu, p");// rows 

    setLayout(layout);/* w ww.  j av a 2s . c o m*/

    CellConstraints cc = new CellConstraints();
    PanelBuilder builder = new PanelBuilder(layout, this);
    int columnCount = layout.getColumnCount();

    builder.addSeparator(Localizer.getString("ConfigWizard_DirectoryHeader"), cc.xywh(1, 1, columnCount, 1));

    HTMLMultiLinePanel welcomeLines = new HTMLMultiLinePanel(Localizer.getString("ConfigWizard_DirectoryText"));
    builder.add(welcomeLines, cc.xywh(2, 3, columnCount - 2, 1));

    builder.addLabel(Localizer.getString("ConfigWizard_Incomplete"), cc.xy(2, 5));
    incompleteDirectoryTF = new JTextField(DownloadPrefs.IncompleteDirectory.get(), 30);
    builder.add(incompleteDirectoryTF, cc.xy(4, 5));
    JButton button = new JButton(Localizer.getString("ConfigWizard_SetFolder"));
    //button.setMargin( noInsets );
    button.addActionListener(new SetIncompleteDirectoryListener());
    builder.add(button, cc.xy(6, 5));

    builder.addLabel(Localizer.getString("ConfigWizard_Destination"), cc.xy(2, 7));
    downloadDirectoryTF = new JTextField(DownloadPrefs.DestinationDirectory.get(), 30);
    builder.add(downloadDirectoryTF, cc.xy(4, 7));
    button = new JButton(Localizer.getString("ConfigWizard_SetFolder"));
    //button.setMargin( noInsets );
    button.addActionListener(new SetDownloadDirectoryListener());
    builder.add(button, cc.xy(6, 7));

    HTMLMultiLinePanel welcomeLines2 = new HTMLMultiLinePanel(
            Localizer.getString("ConfigWizard_DirectoryText2"));
    builder.add(welcomeLines2, cc.xywh(2, 9, columnCount - 2, 1));
}