List of usage examples for com.jgoodies.forms.builder PanelBuilder appendRow
public final void appendRow(RowSpec rowSpec)
From source file:ca.phon.plugins.praat.FormantSettingsPanel.java
License:Open Source License
private void init() { setLayout(new BorderLayout()); final FormLayout formLayout = new FormLayout("right:pref, 3dlu, fill:pref:grow, pref", ""); final CellConstraints cc = new CellConstraints(); final PanelBuilder builder = new PanelBuilder(formLayout); final NumberFormat numberFormat = NumberFormat.getNumberInstance(); int rowIdx = 1; numFormantsField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Num formants"), cc.xy(1, rowIdx)); builder.add(numFormantsField, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2;// ww w.j a v a 2s .c o m windowLengthField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Window length"), cc.xy(1, rowIdx)); builder.add(windowLengthField, cc.xy(3, rowIdx)); builder.add(new JLabel("(s)"), cc.xy(4, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; maxFreqField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Max frequency"), cc.xy(1, rowIdx)); builder.add(maxFreqField, cc.xy(3, rowIdx)); builder.add(new JLabel("(Hz)"), cc.xy(4, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; timeStepField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Time step"), cc.xy(1, rowIdx)); builder.add(timeStepField, cc.xy(3, rowIdx)); builder.add(new JLabel("(s)"), cc.xy(4, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; preEmphasisField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Preemphasis"), cc.xy(1, rowIdx)); builder.add(preEmphasisField, cc.xy(3, rowIdx)); builder.add(new JLabel("(Hz)"), cc.xy(4, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; dynamicRangeField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Dynamic range"), cc.xy(1, rowIdx)); builder.add(dynamicRangeField, cc.xy(3, rowIdx)); builder.add(new JLabel("(dB)"), cc.xy(4, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; dotSizeField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Dot size"), cc.xy(1, rowIdx)); builder.add(dotSizeField, cc.xy(3, rowIdx)); builder.add(new JLabel("(mm)"), cc.xy(4, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; includeNumFormantsBox = new JCheckBox("Include num formants"); builder.appendRow("pref"); builder.add(includeNumFormantsBox, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; includeIntensityBox = new JCheckBox("Include intensity"); builder.appendRow("pref"); builder.add(includeIntensityBox, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; includeBandwidthsBox = new JCheckBox("Include bandwidths"); builder.appendRow("pref"); builder.add(includeBandwidthsBox, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; add(builder.getPanel(), BorderLayout.CENTER); final JPanel btnPanel = new JPanel(new VerticalLayout()); final PhonUIAction loadDefaultsAct = new PhonUIAction(this, "loadDefaults"); loadDefaultsAct.putValue(PhonUIAction.NAME, "Load defaults"); loadDefaultsButton = new JButton(loadDefaultsAct); btnPanel.add(loadDefaultsButton); final PhonUIAction loadStandardsAct = new PhonUIAction(this, "loadStandards"); loadStandardsAct.putValue(PhonUIAction.NAME, "Load standards"); loadStandardsButton = new JButton(loadStandardsAct); btnPanel.add(loadStandardsButton); final PhonUIAction saveDefaultsAct = new PhonUIAction(this, "saveSettingsAsDefaults"); saveDefaultsAct.putValue(PhonUIAction.NAME, "Save as defaults"); saveDefaultsButton = new JButton(saveDefaultsAct); btnPanel.add(saveDefaultsButton); add(btnPanel, BorderLayout.EAST); }
From source file:ca.phon.plugins.praat.IntensitySettingsPanel.java
License:Open Source License
private void init() { setLayout(new BorderLayout()); final FormLayout formLayout = new FormLayout("right:pref, 3dlu, fill:pref:grow, pref", ""); final CellConstraints cc = new CellConstraints(); final PanelBuilder builder = new PanelBuilder(formLayout); final NumberFormat numberFormat = NumberFormat.getNumberInstance(); int rowIdx = 1; minRangeField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("View range start"), cc.xy(1, rowIdx)); builder.add(minRangeField, cc.xy(3, rowIdx)); builder.add(new JLabel("(dB)"), cc.xy(4, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2;/*from ww w .j av a 2s .c om*/ maxRangeField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("View range end"), cc.xy(1, rowIdx)); builder.add(maxRangeField, cc.xy(3, rowIdx)); builder.add(new JLabel("(dB)"), cc.xy(4, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; final ButtonGroup btnGrp = new ButtonGroup(); medianBox = new JRadioButton("median"); btnGrp.add(medianBox); meanEnergyBox = new JRadioButton("mean energy"); btnGrp.add(meanEnergyBox); meanSonesBox = new JRadioButton("mean sones"); btnGrp.add(meanSonesBox); meanDbBox = new JRadioButton("mean dB"); btnGrp.add(meanDbBox); builder.appendRow("pref"); builder.add(new JLabel("Averaging method"), cc.xy(1, rowIdx)); builder.add(medianBox, cc.xy(3, rowIdx++)); builder.appendRow("pref"); builder.add(meanEnergyBox, cc.xy(3, rowIdx++)); builder.appendRow("pref"); builder.add(meanSonesBox, cc.xy(3, rowIdx++)); builder.appendRow("pref"); builder.add(meanDbBox, cc.xy(3, rowIdx++)); builder.appendRow("3dlu"); rowIdx++; subtractMeanBox = new JCheckBox("Subtract mean pressure"); builder.appendRow("pref"); builder.add(subtractMeanBox, cc.xy(3, rowIdx++)); add(builder.getPanel(), BorderLayout.CENTER); final JPanel btnPanel = new JPanel(new VerticalLayout()); final PhonUIAction loadDefaultsAct = new PhonUIAction(this, "loadDefaults"); loadDefaultsAct.putValue(PhonUIAction.NAME, "Load defaults"); loadDefaultsButton = new JButton(loadDefaultsAct); btnPanel.add(loadDefaultsButton); final PhonUIAction loadStandardsAct = new PhonUIAction(this, "loadStandards"); loadStandardsAct.putValue(PhonUIAction.NAME, "Load standards"); loadStandardsButton = new JButton(loadStandardsAct); btnPanel.add(loadStandardsButton); final PhonUIAction saveDefaultsAct = new PhonUIAction(this, "saveSettingsAsDefaults"); saveDefaultsAct.putValue(PhonUIAction.NAME, "Save as defaults"); saveDefaultsButton = new JButton(saveDefaultsAct); btnPanel.add(saveDefaultsButton); add(btnPanel, BorderLayout.EAST); }
From source file:ca.phon.plugins.praat.PitchSettingsPanel.java
License:Open Source License
private void init() { setLayout(new BorderLayout()); final FormLayout formLayout = new FormLayout("right:pref, 3dlu, fill:pref:grow, pref", ""); final CellConstraints cc = new CellConstraints(); final PanelBuilder builder = new PanelBuilder(formLayout); final NumberFormat numberFormat = NumberFormat.getNumberInstance(); int rowIdx = 1; timeStepField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Time step"), cc.xy(1, rowIdx)); builder.add(timeStepField, cc.xy(3, rowIdx)); builder.add(new JLabel("(s)"), cc.xy(4, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2;/*from w w w . j a v a 2 s. c om*/ rangeStartField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Range start"), cc.xy(1, rowIdx)); builder.add(rangeStartField, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; rangeEndField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Range end"), cc.xy(1, rowIdx)); builder.add(rangeEndField, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; unitsBox = new JComboBox(kPitch_unit.values()); builder.appendRow("pref"); builder.add(new JLabel("Units"), cc.xy(1, rowIdx)); builder.add(unitsBox, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; final ButtonGroup btnGrp = new ButtonGroup(); autoCorrelateButton = new JRadioButton("Auto-correlate"); autoCorrelateButton.setSelected(true); crossCorrelateButton = new JRadioButton("Cross-correlate"); btnGrp.add(autoCorrelateButton); btnGrp.add(crossCorrelateButton); builder.appendRow("pref"); builder.add(new JLabel("Correlation"), cc.xy(1, rowIdx)); builder.add(autoCorrelateButton, cc.xy(3, rowIdx)); builder.appendRow("pref"); ++rowIdx; builder.add(crossCorrelateButton, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; veryAccurateBox = new JCheckBox("Very accurate"); builder.appendRow("pref"); builder.add(veryAccurateBox, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; maxCandidatesField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Max. candidates"), cc.xy(1, rowIdx)); builder.add(maxCandidatesField, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; silenceThresholdField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Silence threshold"), cc.xy(1, rowIdx)); builder.add(silenceThresholdField, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; voicingThresholdField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Voicing threshold"), cc.xy(1, rowIdx)); builder.add(voicingThresholdField, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; octaveCostField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Octave cost"), cc.xy(1, rowIdx)); builder.add(octaveCostField, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; octaveJumpCostField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Octave-jump cost"), cc.xy(1, rowIdx)); builder.add(octaveJumpCostField, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; voicedUnvoicedCostField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Voiced/unvoiced cost"), cc.xy(1, rowIdx)); builder.add(voicedUnvoicedCostField, cc.xy(3, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; dotSizeField = new JFormattedTextField(numberFormat); builder.appendRow("pref"); builder.add(new JLabel("Dot size"), cc.xy(1, rowIdx)); builder.add(dotSizeField, cc.xy(3, rowIdx)); builder.add(new JLabel("(mm)"), cc.xy(4, rowIdx)); builder.appendRow("3dlu"); rowIdx += 2; add(builder.getPanel(), BorderLayout.CENTER); final JPanel btnPanel = new JPanel(new VerticalLayout()); final PhonUIAction loadDefaultsAct = new PhonUIAction(this, "loadDefaults"); loadDefaultsAct.putValue(PhonUIAction.NAME, "Load defaults"); loadDefaultsButton = new JButton(loadDefaultsAct); btnPanel.add(loadDefaultsButton); final PhonUIAction loadStandardsAct = new PhonUIAction(this, "loadStandards"); loadStandardsAct.putValue(PhonUIAction.NAME, "Load standards"); loadStandardsButton = new JButton(loadStandardsAct); btnPanel.add(loadStandardsButton); final PhonUIAction saveDefaultsAct = new PhonUIAction(this, "saveSettingsAsDefaults"); saveDefaultsAct.putValue(PhonUIAction.NAME, "Save as defaults"); saveDefaultsButton = new JButton(saveDefaultsAct); btnPanel.add(saveDefaultsButton); add(btnPanel, BorderLayout.EAST); }
From source file:ca.sqlpower.architect.swingui.ProfileGraphPanel.java
License:Open Source License
public ProfileGraphPanel(ProfilePanel panel, int rowCount) { this.profilePanel = panel; this.rowCount = rowCount; FormLayout displayLayout = new FormLayout("4dlu, default, 4dlu, 100dlu, 4dlu, fill:default:grow, 4dlu", // columns "4dlu, default, 6dlu"); // rows CellConstraints cc = new CellConstraints(); validResultsPanel = ProfileGraphPanel.logger.isDebugEnabled() ? new FormDebugPanel(displayLayout) : new JPanel(displayLayout); validResultsPanel.setBorder(BorderFactory.createEtchedBorder()); Font bodyFont = validResultsPanel.getFont(); Font titleFont = bodyFont.deriveFont(Font.BOLD, bodyFont.getSize() * 1.25F); title = new JLabel("Column Name"); title.setFont(titleFont);//from www .ja va2s . c o m PanelBuilder pb = new PanelBuilder(displayLayout, validResultsPanel); pb.add(title, cc.xyw(2, 2, 5)); int row = 4; rowCountDisplay = makeInfoRow(pb, "RowCount", row); row += 2; nullableLabel = makeInfoRow(pb, "Nullable", row); row += 2; nullCountLabel = makeInfoRow(pb, "Null Count", row); row += 2; nullPercentLabel = makeInfoRow(pb, "% Null Records", row); row += 2; minLengthLabel = makeInfoRow(pb, "Minimum Length", row); row += 2; maxLengthLabel = makeInfoRow(pb, "Maximum Length", row); row += 2; uniqueCountLabel = makeInfoRow(pb, "Unique Values", row); row += 2; uniquePercentLabel = makeInfoRow(pb, "% Unique", row); row += 2; minValue = makeInfoRow(pb, "Minimum Value", row); row += 2; maxValue = makeInfoRow(pb, "Maximum Value", row); row += 2; avgValue = makeInfoRow(pb, "Average Value", row); row += 2; freqValueTable = new FreqValueTable(null); freqValueSp = new JScrollPane(freqValueTable); pb.appendRow("fill:10dlu:grow"); pb.appendRow("fill:default:grow"); pb.add(freqValueSp, cc.xyw(2, row + 1, 3)); // Now add something to represent the chart JFreeChart createPieChart = ChartFactory.createPieChart("", new DefaultPieDataset(new DefaultKeyedValues()), false, false, false); chartPanel = new ChartPanel(createPieChart); chartPanel.setPreferredSize(new Dimension(300, 300)); if (panel.getProfileManager().getWorkspaceContainer() instanceof ArchitectSession && ((ArchitectSession) panel.getProfileManager().getWorkspaceContainer()).isEnterpriseSession()) { pb.add(new JLabel("Column Profile Notes"), cc.xy(6, 2)); notesField = new JTextArea(); notesField.setLineWrap(true); notesField.setWrapStyleWord(true); JScrollPane notesScroll = new JScrollPane(notesField); notesScroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); notesScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); pb.add(notesScroll, cc.xywh(6, 4, 1, row - 4)); pb.appendRow("fill:4dlu:grow"); pb.appendRow("4dlu"); pb.add(chartPanel, cc.xy(6, row + 1)); } else { pb.appendRow("fill:4dlu:grow"); pb.appendRow("4dlu"); pb.add(chartPanel, cc.xywh(6, 4, 1, row - 2)); } invalidResultsPanel = new JPanel(new BorderLayout()); invalidResultsLabel = new JLabel("No error message yet"); invalidResultsPanel.add(invalidResultsLabel); displayArea = new JPanel(new GridLayout(1, 1)); displayArea.setPreferredSize(validResultsPanel.getPreferredSize()); }
From source file:ca.sqlpower.architect.swingui.ProfileGraphPanel.java
License:Open Source License
private JLabel makeInfoRow(PanelBuilder pb, String title, int row) { CellConstraints cc = new CellConstraints(); pb.appendRow("default"); pb.appendRow("2dlu"); pb.add(new JLabel(title), cc.xy(2, row)); JLabel label = new JLabel("--"); pb.add(label, cc.xy(4, row));/* w w w . j av a2 s . c o m*/ return label; }
From source file:ca.sqlpower.matchmaker.swingui.MatchMakerSplashScreen.java
License:Open Source License
private void buildUI() { JPanel spgLogo = new JPanel(new LogoLayout()); spgLogo.add(/* w w w .j a v a 2 s . c o m*/ new JLabel("<html><div align='center'>SQL Power Group Inc.<br>http://www.sqlpower.ca/</div></html>", JLabel.CENTER)); spgLogo.add(new JLabel(new ImageIcon(getClass().getResource("/icons/sqlpower_alpha_gradient.png")))); spgLogo.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { try { BrowserUtil.launch(SPSUtils.SQLP_URL); } catch (IOException e1) { throw new RuntimeException("Could not launch web browser with URL " + SPSUtils.SQLP_URL, e1); } } }); JLabel mmLogo = new JLabel(SPSUtils.createIcon("dqguru_huge", "DQguru Huge Icon"), JLabel.CENTER); JLabel title = new JLabel("<html>" + "SQL Power DQguru " + MatchMakerVersion.APP_VERSION + "</html>", JLabel.CENTER); Font f = title.getFont(); Font newf = new Font(f.getName(), f.getStyle(), (int) (f.getSize() * 1.5)); title.setFont(newf); FormLayout layout = new FormLayout("4dlu, pref:grow, 4dlu "); int rowCount = 0; PanelBuilder pb = new PanelBuilder(layout); CellConstraints c = new CellConstraints(); pb.appendRow(new RowSpec("10px:grow")); rowCount++; pb.appendRow(new RowSpec("pref")); rowCount++; pb.add(mmLogo, c.xy(2, rowCount)); pb.appendRow(new RowSpec("15px")); rowCount++; pb.appendRow(new RowSpec("pref")); rowCount++; pb.add(title, c.xy(2, rowCount)); pb.appendRow(new RowSpec("40px")); rowCount++; pb.appendRow(new RowSpec("fill:pref")); rowCount++; pb.appendRow(new RowSpec("40px")); rowCount++; pb.appendRow(new RowSpec("fill:pref")); rowCount++; pb.add(spgLogo, c.xy(2, rowCount)); rowCount++; pb.appendRow(new RowSpec("10px:grow")); rowCount++; splashScreen = pb.getPanel(); }
From source file:com.atlassian.theplugin.idea.ui.ScrollableTwoColumnPanel.java
License:Apache License
public void updateContent(@Nullable Collection<Entry> entries) { panel.removeAll();/*from w w w . jav a 2 s . com*/ if (entries == null || entries.size() == 0) { panel.setLayout(new BorderLayout()); final JLabel label = new JLabel("No Custom Filter Defined", JLabel.CENTER); panel.setPreferredSize(label.getPreferredSize()); panel.add(label); return; } FormLayout layout = new FormLayout("4dlu, right:p, 4dlu, left:d, 4dlu"); PanelBuilder builder = new PanelBuilder(layout, panel); int row = 1; CellConstraints cc = new CellConstraints(); for (Entry entry : entries) { builder.appendRow("2dlu"); builder.appendRow("p"); cc.xy(2, row * 2).vAlign = CellConstraints.TOP; builder.addLabel(entry.getLabel() + ":", cc); cc.xy(VAL_COL, row * 2).vAlign = CellConstraints.TOP; if (entry.isError()) { builder.addLabel("<html>" + "<font color=\"red\">" + entry.getValue(), cc); } else { builder.addLabel("<html>" + entry.getValue(), cc); } row++; } // this lines (simulating JScrollPane resize) // are needed to more or less workaround the problem of revalidating whole scrollpane when more or fewer // rows could have been added. Without them you may end up with JScrollPane not completely showing its viewport panel.setPreferredSize(null); panel.setPreferredSize(new Dimension(getWidth(), panel.getPreferredSize().height)); panel.validate(); // it was needed here as sometimes panel was left with some old rubbish panel.repaint(); }
From source file:cz.cuni.mff.peckam.java.origamist.gui.editor.OrigamiPropertiesFrame.java
License:Open Source License
/** * Add all components to a layout.//from w w w . j av a 2 s . c o m */ protected void buildLayout() { Configuration conf = ServiceLocator.get(ConfigurationManager.class).get(); CellConstraints cc = new CellConstraints(); final JTabbedPane tabPane = new JTabbedPane(); int tabIndex = 0; JPanel basicPanel = new JPanel(new FormLayout("$dmargin,right:pref,$lcgap,pref:grow,$dmargin", "$dmargin,pref,$lgap,pref,$lgap,pref,$lgap,pref,$lgap,pref,$lgap,pref,$lgap,pref,$dmargin")); final int basicPanelTabIndex = tabIndex++; tabPane.addTab("", basicPanel); conf.addAndRunResourceBundleListener( new Configuration.LocaleListener("application", "OrigamiPropertiesFrame.basicPanelTitle") { @Override protected void updateText(String text) { tabPane.setTitleAt(basicPanelTabIndex, text); } }); basicPanel.add(nameLabel, cc.xy(2, 2)); basicPanel.add(name, cc.xy(4, 2)); basicPanel.add(creationDateLabel, cc.xy(2, 4)); basicPanel.add(creationDate, cc.xy(4, 4)); basicPanel.add(authorNameLabel, cc.xy(2, 6)); basicPanel.add(authorName, cc.xy(4, 6)); basicPanel.add(authorHomepageLabel, cc.xy(2, 8)); basicPanel.add(authorHomepage, cc.xy(4, 8)); basicPanel.add(shortDescLabel, cc.xy(2, 10)); basicPanel.add(shortDesc, cc.xy(4, 10)); basicPanel.add(originalLabel, cc.xy(2, 12)); basicPanel.add(original, cc.xy(4, 12)); basicPanel.add(description, cc.xywh(2, 14, 3, 1)); JPanel thumbnailPanel = new JPanel( new FormLayout("$dmargin,center:min(pref;50dlu),$ugap,pref,$ugap,pref,$dmargin", "$dmargin,pref,$lgap,pref,$dmargin")); final int thumbnailPanelTabIndex = tabIndex++; tabPane.addTab("", thumbnailPanel); conf.addAndRunResourceBundleListener( new Configuration.LocaleListener("application", "OrigamiPropertiesFrame.thumbnailPanelTitle") { @Override protected void updateText(String text) { tabPane.setTitleAt(thumbnailPanelTabIndex, text); } }); thumbnailPanel.add(thumbnailPreviewLabel, cc.xy(2, 2)); thumbnailPanel.add(thumbnailPreview, cc.xy(2, 4)); thumbnailPanel.add(thumbnailLoadFromModel, cc.xy(4, 2)); thumbnailPanel.add(thumbnailLoadFromFile, cc.xy(6, 2)); thumbnailPanel.add(thumbnailFileInputLabel, cc.xy(4, 4)); thumbnailPanel.add(thumbnailFileInput, cc.xy(6, 4)); final JScrollPane licenseContentScrollPane = new JScrollPane(licenseContent, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); JPanel licenseNamePanel = new JPanel(new FormLayout("pref,$lcgap,pref:grow", "pref")); licenseNamePanel.add(licenseNameLabel, cc.xy(1, 1)); licenseNamePanel.add(licenseName, cc.xy(3, 1)); licenseChooseContent.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { licenseHomepageLabel.setVisible(false); licenseContentLabel.setVisible(true); licenseContentScrollPane.setVisible(true); } } }); licenseChooseHomepage.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { licenseContentLabel.setVisible(false); licenseHomepageLabel.setVisible(true); licenseContentScrollPane.setVisible(false); } } }); licenseHomepageLabel.setVisible(licenseHomepage.isVisible()); licenseContentLabel.setVisible(licenseContent.isVisible()); licenseContentScrollPane.setVisible(licenseContent.isVisible()); JPanel licenseContentPanel = new JPanel(new FlowLayout(FlowLayout.LEADING)); licenseContentPanel.add(licenseChooseContent); licenseContentPanel.add(licenseChooseHomepage); JPanel licenseHomepagePanel = new JPanel(new FormLayout("pref,$lcgap,pref:grow", "pref")); licenseHomepagePanel.add(licenseHomepageLabel, cc.xy(1, 1)); licenseHomepagePanel.add(licenseHomepage, cc.xy(3, 1)); JPanel licensePermissionPanel = new JPanel(new GridLayout(0, 1)); licensePermissionPanel.add(licensePermissionDoNothing); licensePermissionPanel.add(licensePermissionEdit); licensePermissionPanel.add(licensePermissionExport); licensePermissionPanel.add(licensePermissionDistribute); JPanel licensePanel = new JPanel(new FormLayout("$dmargin,min(pref;500px):grow,$dmargin", "$dmargin,pref,$lgap,pref,$lgap,pref,$rgap,pref,$lgap,pref,$lgap,pref,$lgap,pref,$lgap,pref,$dmargin")); final int licensePanelTabIndex = tabIndex++; tabPane.addTab("", licensePanel); conf.addAndRunResourceBundleListener( new Configuration.LocaleListener("application", "OrigamiPropertiesFrame.licensePanelTitle") { @Override protected void updateText(String text) { tabPane.setTitleAt(licensePanelTabIndex, text); } }); JPanel predefinedLicensesPanel = new JPanel(new FormLayout("pref")); PanelBuilder builder = new PanelBuilder((FormLayout) predefinedLicensesPanel.getLayout(), predefinedLicensesPanel); for (JRadioButton b : predefinedLicenses) { builder.appendRow("$lgap"); builder.appendRow("pref"); builder.nextLine(); builder.add(b); builder.nextLine(); } JLabel licenseChooseLabel = new JLocalizedLabel("application", "OrigamiPropertiesFrame.licenseChooseLabel"); licensePanel.add(licenseNamePanel, cc.xy(2, 2)); licensePanel.add(predefinedLicensesPanel, cc.xy(2, 4)); licensePanel.add(licenseChooseLabel, cc.xy(2, 6)); licensePanel.add(licenseContentPanel, cc.xy(2, 8)); licensePanel.add(licenseContentLabel, cc.xy(2, 10)); licensePanel.add(licenseContentScrollPane, cc.xy(2, 12)); licensePanel.add(licenseHomepagePanel, cc.xy(2, 14)); licensePanel.add(licensePermissionPanel, cc.xy(2, 16)); final int diagramPaperTabIndex = tabIndex++; JPanel diagramPaperPanel = new JPanel( new FormLayout("$dmargin,default,$dmargin", "$dmargin,default,$dmargin")); diagramPaperPanel.add(diagramPaper, cc.xy(2, 2)); tabPane.addTab("", diagramPaperPanel); conf.addAndRunResourceBundleListener( new Configuration.LocaleListener("application", "OrigamiPropertiesFrame.diagramPaperLabel") { @Override protected void updateText(String text) { tabPane.setTitleAt(diagramPaperTabIndex, text); } }); final int modelPaperTabIndex = tabIndex++; JPanel modelPaperPanel = new JPanel( new FormLayout("$dmargin,default,$dmargin", "$dmargin,default,$dmargin")); modelPaperPanel.add(modelPaper, cc.xy(2, 2)); tabPane.addTab("", modelPaperPanel); conf.addAndRunResourceBundleListener( new Configuration.LocaleListener("application", "OrigamiPropertiesFrame.modelPaperLabel") { @Override protected void updateText(String text) { tabPane.setTitleAt(modelPaperTabIndex, text); } }); JPanel dialogButtonsPanel = new JPanel(new FlowLayout(FlowLayout.TRAILING)); dialogButtonsPanel.add(cancelButton); dialogButtonsPanel.add(okButton); setLayout(new FormLayout("default", "default,$lgap,default")); add(tabPane, cc.xy(1, 1)); add(dialogButtonsPanel, cc.xy(1, 3)); pack(); }
From source file:de.dal33t.powerfolder.ui.computers.ExpandableComputerView.java
License:Open Source License
/** * Builds the ui component.// www .jav a 2s . com */ private void buildUI() { initComponent(); // Build ui FormLayout upperLayout = new FormLayout("pref, 3dlu, pref, pref:grow, 3dlu, pref", "pref"); PanelBuilder upperBuilder = new PanelBuilder(upperLayout); CellConstraints cc = new CellConstraints(); upperBuilder.add(pictoLabel, cc.xy(1, 1)); upperBuilder.add(infoLabel, cc.xy(3, 1)); upperPanel = upperBuilder.getPanel(); upperPanel.setOpaque(false); upperPanel.setToolTipText(Translation.getTranslation("exp.exp_computer_view.expand")); MouseAdapter ma = new MyMouseAdapter(); upperPanel.addMouseListener(ma); CursorUtils.setHandCursor(upperPanel); pictoLabel.addActionListener(new PrimaryButtonActionListener()); // Build lower details with line border. // last, qual rmve recon FormLayout lowerLayout = new FormLayout("pref, pref:grow, 3dlu, pref, 2dlu, pref, 2dlu, pref", "pref, 3dlu, pref, 3dlu, pref, 3dlu, pref"); // sep, last PanelBuilder lowerBuilder = new PanelBuilder(lowerLayout); lowerBuilder.setBorder(Borders.createEmptyBorder("0, 3dlu, 0, 3dlu")); lowerBuilder.addSeparator(null, cc.xyw(1, 1, 8)); lowerBuilder.add(usernameLabel, cc.xy(1, 3)); lowerBuilder.add(addRemoveButton, cc.xywh(6, 3, 1, 3)); lowerBuilder.add(reconnectButton, cc.xywh(8, 3, 1, 3)); lowerBuilder.add(lastSeenLabel, cc.xy(1, 5)); if (getController().isVerbose()) { lowerBuilder.appendRow("3dlu"); lowerBuilder.appendRow("pref"); lowerBuilder.add(versionLabel, cc.xy(1, 7)); } JPanel lowerPanel = lowerBuilder.getPanel(); lowerPanel.setOpaque(false); // Build spacer then lower outer with lower panel FormLayout lowerOuterLayout = new FormLayout("pref:grow", "3dlu, pref"); PanelBuilder lowerOuterBuilder = new PanelBuilder(lowerOuterLayout); lowerOuterPanel = lowerOuterBuilder.getPanel(); lowerOuterPanel.setOpaque(false); lowerOuterPanel.setVisible(false); lowerOuterBuilder.add(lowerPanel, cc.xy(1, 2)); // Build border around upper and lower FormLayout borderLayout = new FormLayout("3dlu, pref:grow, 3dlu", "3dlu, pref, pref, 3dlu"); PanelBuilder borderBuilder = new PanelBuilder(borderLayout); borderBuilder.add(upperPanel, cc.xy(2, 2)); JPanel panel = lowerOuterBuilder.getPanel(); panel.setOpaque(false); borderBuilder.add(panel, cc.xy(2, 3)); borderPanel = borderBuilder.getPanel(); borderPanel.setOpaque(false); // Build ui with vertical space before the next one. FormLayout outerLayout = new FormLayout("3dlu, pref:grow, 3dlu", "pref, 3dlu"); PanelBuilder outerBuilder = new PanelBuilder(outerLayout); outerBuilder.add(borderPanel, cc.xy(2, 1)); uiComponent = outerBuilder.getPanel(); uiComponent.setOpaque(false); uiComponent.setTransferHandler(new MyTransferHandler()); }
From source file:de.dal33t.powerfolder.ui.dialog.AboutDialog.java
License:Open Source License
private static JPanel createTextBox(String title, String contents) { String[] contentsArray = contents.split("\n"); FormLayout contentsForm = new FormLayout("pref"); PanelBuilder builder = new PanelBuilder(contentsForm); TitledBorder titledBorder = new TitledBorder(title); titledBorder.setTitleColor(Color.BLACK); builder.setBorder(new CompoundBorder(titledBorder, new EmptyBorder(2, 2, 2, 2))); // split into tokens int row = 1;/*w w w . j a v a 2s. c om*/ CellConstraints cc = new CellConstraints(); for (String lineText : contentsArray) { if (StringUtils.isEmpty(lineText.trim())) { // Add gap builder.appendRow("3dlu"); } else { builder.appendRow("pref"); builder.add(new JLabel("<HTML><BODY>" + lineText + "</BODY></HTML>"), cc.xy(1, row)); } row += 1; } JPanel textBoxPanel = builder.getPanel(); textBoxPanel.setBackground(Color.WHITE); return textBoxPanel; }