List of usage examples for com.jgoodies.forms.layout FormLayout getColumnCount
public int getColumnCount()
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 /> 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)); }