Example usage for com.jgoodies.forms.builder PanelBuilder appendRow

List of usage examples for com.jgoodies.forms.builder PanelBuilder appendRow

Introduction

In this page you can find the example usage for com.jgoodies.forms.builder PanelBuilder appendRow.

Prototype

public final void appendRow(RowSpec rowSpec) 

Source Link

Document

Appends the given row specification to the builder's layout.

Usage

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