Example usage for com.jgoodies.forms.layout CellConstraints TOP

List of usage examples for com.jgoodies.forms.layout CellConstraints TOP

Introduction

In this page you can find the example usage for com.jgoodies.forms.layout CellConstraints TOP.

Prototype

Alignment TOP

To view the source code for com.jgoodies.forms.layout CellConstraints TOP.

Click Source Link

Document

Put the component in the top.

Usage

From source file:de.dal33t.powerfolder.ui.preferences.GeneralSettingsTab.java

License:Open Source License

/**
 * Builds general ui panel//from  ww  w  .  ja  v  a2s.  c o m
 */
public JPanel getUIPanel() {
    if (panel == null) {
        FormLayout layout = new FormLayout("right:pref, 3dlu, 163dlu, pref:grow",
                "pref, 10dlu, pref, 8dlu, pref, 8dlu, pref, 8dlu, pref, 8dlu, pref, 8dlu, pref, 8dlu, pref, 8dlu, pref, 8dlu, pref, 0dlu, pref, 0dlu, pref");

        PanelBuilder builder = new PanelBuilder(layout);
        builder.setBorder(Borders.createEmptyBorder("3dlu, 3dlu, 3dlu, 3dlu"));

        CellConstraints cc = new CellConstraints();
        int row = 3;

        // Start: PFC-2385
        if (PreferencesEntry.MODE_SELECT.getValueBoolean(getController())) {
            row += 2;
            builder.add(new JLabel(Translation.getTranslation("preferences.general.mode.title")),
                    cc.xy(1, row));
            builder.add(modeChooser, cc.xy(3, row));
        }
        // End: PFC-2385

        row += 2;
        builder.add(new JLabel(Translation.getTranslation("preferences.general.account_label")), cc.xy(1, row));
        builder.add(createChangeAccountLogoutPanel(), cc.xyw(3, row, 2));

        row += 2;
        builder.add(new JLabel(Translation.getTranslation("preferences.general.nickname")), cc.xy(1, row));
        builder.add(nickField, cc.xy(3, row));

        row += 2;
        builder.add(new JLabel(Translation.getTranslation("preferences.general.language")), cc.xy(1, row));
        builder.add(languageChooser, cc.xy(3, row));

        if (PreferencesEntry.VIEW_ACHIVE.getValueBoolean(getController())) {
            row += 2;
            builder.add(new JLabel(Translation.getTranslation("preferences.general.default_archive_mode_text")),
                    cc.xy(1, row, CellConstraints.RIGHT, CellConstraints.TOP));
            builder.add(threePanel(archiveModeSelectorPanel.getUIComponent(), archiveCleanupCombo,
                    new JButton(cleanupAction)), cc.xyw(3, row, 2));
        }

        if (OSUtil.isStartupItemSupported() && runOnStartupBox != null) {
            builder.appendRow("3dlu");
            builder.appendRow("pref");
            row += 2;
            builder.add(new JLabel(Translation.getTranslation("preferences.general.start_behavior")),
                    cc.xy(1, row));
            builder.add(runOnStartupBox, cc.xyw(3, row, 2));
        }

        row += 2;
        builder.add(new JLabel(Translation.getTranslation("preferences.general.exit_behavior")), cc.xy(1, row));
        builder.add(xBehaviorChooser, cc.xy(3, row));

        // PFC-2461: Completely disable updates via preferences
        if (ConfigurationEntry.ENABLE_UPDATE.getValueBoolean(getController())) {
            row += 2;
            builder.add(new JLabel(Translation.getTranslation("preferences.general.check_for_updates_text")),
                    cc.xy(1, row));
            builder.add(updateCheck, cc.xy(3, row));

            row += 2;
            builder.add(createUpdateCheckPanel(), cc.xyw(3, row, 2));
        }

        panel = builder.getPanel();
    }
    return panel;
}

From source file:de.dal33t.powerfolder.ui.wizard.PFWizardPanel.java

License:Open Source License

/**
 * Builds the ui/*from ww w  . j  av a  2  s .  c  o m*/
 */
private void buildUI() {

    // init
    initComponents();

    JComponent content = buildContent();
    content.setOpaque(false);
    // content.setBackground(Color.WHITE);

    String title = getTitle();

    Reject.ifBlank(title, "Title is blank");
    Reject.ifNull(content, "Content is null");

    setBorder(Borders.EMPTY_BORDER);

    FormLayout layout = new FormLayout("13px, fill:pref:grow", "pref, 7dlu, pref, 3dlu, fill:pref:grow");
    PanelBuilder pageBuilder = new PanelBuilder(layout, this);
    pageBuilder.setBorder(Borders.createEmptyBorder("7dlu, 20dlu, 0dlu, 20dlu"));
    CellConstraints cc = new CellConstraints();
    int row = 1;

    pageBuilder.add(new JLabel(Icons.getIconById(Icons.LOGO400UI)), cc.xywh(1, row, 2, 1, "left, default"));
    row += 2;

    titleLabel = createTitleLabel(title);
    pageBuilder.add(titleLabel, cc.xy(2, row));
    row += 2;

    pageBuilder.add(content, cc.xy(2, row, CellConstraints.DEFAULT, CellConstraints.TOP));

    // initalized
    initalized = true;
}

From source file:de.dfki.km.text20.lightning.gui.ConfigWindow.java

License:Open Source License

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    mainFrame = new JFrame();
    dialogPane = new JPanel();
    contentPanel = new JPanel();
    panel1 = new JPanel();
    labelActionHotkey = new JLabel();
    comboBoxActionHotkey = new JComboBox();
    labelStatusHotkey = new JLabel();
    comboBoxStatusHotkey = new JComboBox();
    labelSound = new JLabel();
    checkBoxSound = new JCheckBox();
    labelDimension = new JLabel();
    spinnerDimension = new JSpinner();
    labelRecalibration = new JLabel();
    checkBoxRecalibration = new JCheckBox();
    buttonClearRecalibration = new JButton();
    panel2 = new JPanel();
    labelEnableMouseWarp = new JLabel();
    checkBoxUseWarp = new JCheckBox();
    labelWarpMethod = new JLabel();
    comboBoxWarpMethod = new JComboBox();
    buttonWarpConfig = new JButton();
    panel3 = new JPanel();
    labelEvaluation = new JLabel();
    checkBoxEvaluation = new JCheckBox();
    labelName = new JLabel();
    textFieldName = new JTextField();
    labelScreenBright = new JLabel();
    comboBoxScreenBright = new JComboBox();
    labelSettingBright = new JLabel();
    comboBoxSettingBright = new JComboBox();
    labelOutputPath = new JLabel();
    buttonSelect = new JButton();
    textFieldOutputPath = new JTextField();
    panel4 = new JPanel();
    labelDetector = new JLabel();
    comboBoxDetector = new JComboBox();
    buttonDetectorConfig = new JButton();
    buttonSubmit = new JButton();
    buttonDefault = new JButton();
    buttonOK = new JButton();
    buttonCancel = new JButton();
    CellConstraints cc = new CellConstraints();

    //======== mainFrame ========
    {//from www  . j  av  a2  s.  co  m
        mainFrame.setTitle("Project Lightning (Desktop)");
        mainFrame.setResizable(false);
        Container mainFrameContentPane = mainFrame.getContentPane();
        mainFrameContentPane.setLayout(new GridLayout());

        //======== dialogPane ========
        {
            dialogPane.setBorder(Borders.DIALOG_BORDER);
            dialogPane.setLayout(new BoxLayout(dialogPane, BoxLayout.X_AXIS));

            //======== contentPanel ========
            {
                contentPanel.setLayout(new FormLayout("3*(20dlu:grow, $lcgap), 20dlu:grow",
                        "top:default, $lgap, top:48dlu, $lgap, default:grow, $lgap, default"));
                ((FormLayout) contentPanel.getLayout()).setColumnGroups(new int[][] { { 1, 3 }, { 5, 7 } });

                //======== panel1 ========
                {
                    panel1.setBorder(new TitledBorder("General Options"));
                    panel1.setLayout(
                            new FormLayout("20dlu:grow, $lcgap, 20dlu:grow", "5*(default, $lgap), default"));

                    //---- labelActionHotkey ----
                    labelActionHotkey.setText("Cursorwarp Key");
                    labelActionHotkey.setIcon(null);
                    panel1.add(labelActionHotkey, cc.xywh(1, 1, 2, 1));

                    //---- comboBoxActionHotkey ----
                    comboBoxActionHotkey.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            comboBoxActionHotkeyActionPerformed(e);
                        }
                    });
                    panel1.add(comboBoxActionHotkey, cc.xy(3, 1));

                    //---- labelStatusHotkey ----
                    labelStatusHotkey.setText("Key to Enable & Disable");
                    panel1.add(labelStatusHotkey, cc.xywh(1, 3, 2, 1));

                    //---- comboBoxStatusHotkey ----
                    comboBoxStatusHotkey.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            comboBoxStatusHotkeyActionPerformed(e);
                        }
                    });
                    panel1.add(comboBoxStatusHotkey, cc.xy(3, 3));

                    //---- labelSound ----
                    labelSound.setText("Play Sounds");
                    panel1.add(labelSound, cc.xy(1, 5));

                    //---- checkBoxSound ----
                    checkBoxSound.setSelectedIcon(null);
                    panel1.add(checkBoxSound, cc.xy(3, 5));

                    //---- labelDimension ----
                    labelDimension.setText("Pixels to Consider");
                    labelDimension.setIcon(null);
                    panel1.add(labelDimension, cc.xywh(1, 7, 2, 1));

                    //---- spinnerDimension ----
                    spinnerDimension.setModel(new SpinnerNumberModel(0, 0, 999, 1));
                    panel1.add(spinnerDimension, cc.xy(3, 7));

                    //---- labelRecalibration ----
                    labelRecalibration.setText("Use Recalibration");
                    panel1.add(labelRecalibration, cc.xywh(1, 9, 1, 3));
                    panel1.add(checkBoxRecalibration, cc.xy(3, 9));

                    //---- buttonClearRecalibration ----
                    buttonClearRecalibration.setText("Clear Recalibration");
                    panel1.add(buttonClearRecalibration, cc.xy(3, 11));
                }
                contentPanel.add(panel1, cc.xywh(1, 1, 3, 3, CellConstraints.FILL, CellConstraints.TOP));

                //======== panel2 ========
                {
                    panel2.setBorder(new TitledBorder("Mouse Warping"));
                    panel2.setLayout(
                            new FormLayout("80dlu:grow, $lcgap, 80dlu:grow", "2*(default, $lgap), default"));

                    //---- labelEnableMouseWarp ----
                    labelEnableMouseWarp.setText("Enable Mouse Warp");
                    panel2.add(labelEnableMouseWarp, cc.xywh(1, 1, 2, 1));

                    //---- checkBoxUseWarp ----
                    checkBoxUseWarp.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            checkBoxUseWarpActionPerformed(e);
                        }
                    });
                    panel2.add(checkBoxUseWarp, cc.xy(3, 1));

                    //---- labelWarpMethod ----
                    labelWarpMethod.setText("Warp Method");
                    panel2.add(labelWarpMethod, cc.xywh(1, 3, 2, 3));
                    panel2.add(comboBoxWarpMethod, cc.xy(3, 3));

                    //---- buttonWarpConfig ----
                    buttonWarpConfig.setText("Configuration");
                    panel2.add(buttonWarpConfig, cc.xy(3, 5));
                }
                contentPanel.add(panel2, cc.xywh(5, 1, 3, 1, CellConstraints.FILL, CellConstraints.TOP));

                //======== panel3 ========
                {
                    panel3.setBorder(new TitledBorder("Evaluation "));
                    panel3.setLayout(
                            new FormLayout("80dlu:grow, $lcgap, 80dlu:grow", "5*(default, $lgap), default"));

                    //---- labelEvaluation ----
                    labelEvaluation.setText("Evaluation Mode");
                    panel3.add(labelEvaluation, cc.xywh(1, 1, 2, 1));

                    //---- checkBoxEvaluation ----
                    checkBoxEvaluation.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            checkBoxTrainingActionPerformed(e);
                        }
                    });
                    panel3.add(checkBoxEvaluation, cc.xy(3, 1));

                    //---- labelName ----
                    labelName.setText("Username");
                    panel3.add(labelName, cc.xywh(1, 3, 2, 1));
                    panel3.add(textFieldName, cc.xy(3, 3));

                    //---- labelScreenBright ----
                    labelScreenBright.setText("Screen Brightness");
                    panel3.add(labelScreenBright, cc.xywh(1, 5, 2, 1));
                    panel3.add(comboBoxScreenBright, cc.xy(3, 5));

                    //---- labelSettingBright ----
                    labelSettingBright.setText("Setting Brightness");
                    panel3.add(labelSettingBright, cc.xywh(1, 7, 2, 1));
                    panel3.add(comboBoxSettingBright, cc.xy(3, 7));

                    //---- labelOutputPath ----
                    labelOutputPath.setText("Output Path");
                    panel3.add(labelOutputPath, cc.xywh(1, 9, 1, 3));

                    //---- buttonSelect ----
                    buttonSelect.setText("Select");
                    panel3.add(buttonSelect, cc.xy(3, 9));
                    panel3.add(textFieldOutputPath, cc.xy(3, 11));
                }
                contentPanel.add(panel3, cc.xywh(5, 3, 3, 3, CellConstraints.FILL, CellConstraints.FILL));

                //======== panel4 ========
                {
                    panel4.setBorder(new TitledBorder("Cursor Warping"));
                    panel4.setLayout(
                            new FormLayout("20dlu:grow, $lcgap, 20dlu:grow", "default, $lgap, default"));

                    //---- labelDetector ----
                    labelDetector.setText("Text Detector / Warping");
                    panel4.add(labelDetector, cc.xywh(1, 1, 2, 3));

                    //---- comboBoxDetector ----
                    comboBoxDetector.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            comboBoxSearchMethodActionPerformed(e);
                        }
                    });
                    panel4.add(comboBoxDetector, cc.xy(3, 1));

                    //---- buttonDetectorConfig ----
                    buttonDetectorConfig.setText("Configuration");
                    panel4.add(buttonDetectorConfig, cc.xy(3, 3));
                }
                contentPanel.add(panel4, cc.xywh(1, 5, 3, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

                //---- buttonSubmit ----
                buttonSubmit.setText("Submit");
                buttonSubmit.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        buttonSubmitActionPerformed(e);
                    }
                });
                contentPanel.add(buttonSubmit, cc.xy(1, 7));

                //---- buttonDefault ----
                buttonDefault.setText("Default");
                buttonDefault.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        buttonDefaultActionPerformed(e);
                    }
                });
                contentPanel.add(buttonDefault, cc.xy(3, 7));

                //---- buttonOK ----
                buttonOK.setText("OK");
                buttonOK.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        buttonOKActionPerformed(e);
                    }
                });
                contentPanel.add(buttonOK, cc.xywh(5, 7, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

                //---- buttonCancel ----
                buttonCancel.setText("Cancel");
                buttonCancel.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        buttonCancelActionPerformed(e);
                    }
                });
                contentPanel.add(buttonCancel, cc.xy(7, 7));
            }
            dialogPane.add(contentPanel);
        }
        mainFrameContentPane.add(dialogPane);
        mainFrame.setSize(570, 370);
        mainFrame.setLocationRelativeTo(mainFrame.getOwner());
    }
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
}

From source file:demo.MainScreen.java

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner Evaluation license - Travis Holt
    watch = new StopWatch();
    TeamTitleLabel = new JLabel();
    FilterItemLabel = new JLabel();
    separator1 = new JSeparator();
    panel2 = new JPanel();
    comboBox1 = new JComboBox();
    textField1 = new JTextField();
    startTiming = new JButton();
    beingTimed = false;// ww w. j  a  va 2  s.  c  om
    panel1 = new JPanel();
    DockButton_Jacket = new JButton();
    DockButton_CShirt = new JButton();
    DockButton_TShirt = new JButton();
    DockButton_TTop = new JButton();
    DockButton_Dress = new JButton();
    DockButton_Pants = new JButton();
    DockButton_Uwear = new JButton();
    DockLabel_Jacket = new JLabel();
    DockLabel_CShirt = new JLabel();
    DockLabel_TShirt = new JLabel();
    DockLabel_TTop = new JLabel();
    DockLabel_Dress = new JLabel();
    DockLabel_Pants = new JLabel();
    DockLabel_UWear = new JLabel();
    separator2 = new JSeparator();
    Frame_ShirtFilter = new JInternalFrame();
    Label_Options = new JLabel();
    vSpacer2 = new JPanel(null);
    Label_SizeSelection = new JLabel();
    splitPane2 = new JSplitPane();
    Label_SizeStatus = new JLabel();
    SizeButton_Clear = new JButton();
    ColorPalette_Clear = new JButton();
    panel6 = new JPanel();
    SizeButton_XS = new JButton();
    SizeButton_S = new JButton();
    SizeButton_M = new JButton();
    SizeButton_L = new JButton();
    SizeButton_XL = new JButton();
    vSpacer1 = new JPanel(null);
    Label_ColorSelection = new JLabel();
    splitPane1 = new JSplitPane();
    Label_ColorStatus = new JButton();
    ColorButton_Clear = new JButton();
    colorPalette = new JPanel();
    Button_Black = new JButton();
    Button_Pink = new JButton();
    Button_Blue = new JButton();
    Button_Green = new JButton();
    ButtonLightBlue = new JButton();
    Button_Red = new JButton();
    Button_Purple = new JButton();
    Button_Grey = new JButton();
    Button_Yellow = new JButton();
    Button_White = new JButton();
    vSpacer3 = new JPanel(null);
    Label_PriceSelection = new JLabel();
    splitPane3 = new JSplitPane();
    Label_PriceStatus = new JLabel();
    PriceButton_Clear = new JButton();
    panel8 = new JPanel();
    bPrice26_50 = new JButton();
    bPrice51_75 = new JButton();
    bPrice76_100 = new JButton();
    bprice101_125 = new JButton();
    DesignB = new JInternalFrame();
    label1 = new JLabel();
    label2 = new JLabel();
    sizeButtonPanel = new JPanel();
    Toggle_XS = new JToggleButton();
    Toggle_S = new JToggleButton();
    Toggle_M = new JToggleButton();
    Toggle_L = new JToggleButton();
    Toggle_XL = new JToggleButton();
    vSpacer4 = new JPanel(null);
    colorLabelPalette = new JLabel();
    panel4 = new JPanel();
    primaryColorChooser = new ColorChooser();
    vSpacer5 = new JPanel(null);
    priceRangeLabel = new JLabel();
    rangeMinLabel = new JTextField();
    rangeSlider1 = new RangeSlider();
    rangeMaxLabel = new JTextField();
    CellConstraints cc = new CellConstraints();

    //======== this ========
    setTitle("Fashion Sensible");
    Container contentPane = getContentPane();
    contentPane.setLayout(
            new FormLayout("default, $lcgap, 195dlu, $lcgap, default, $lcgap, 149dlu, $lcgap, default",
                    "7*(default, $lgap), 253dlu, 2*($lgap, default)"));

    //---- TeamTitleLabel ----
    TeamTitleLabel.setText("Fashion Sensible");
    TeamTitleLabel.setFont(new Font("Dialog", Font.PLAIN, 16));
    contentPane.add(TeamTitleLabel, cc.xywh(5, 3, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

    //---- FilterItemLabel ----
    FilterItemLabel.setText("Filtering Items");
    contentPane.add(FilterItemLabel, cc.xywh(5, 5, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));
    contentPane.add(separator1, cc.xy(5, 7));

    //======== panel2 ========
    {

        // JFormDesigner evaluation mark
        panel2.setBorder(new javax.swing.border.CompoundBorder(
                new javax.swing.border.TitledBorder(new javax.swing.border.EmptyBorder(0, 0, 0, 0),
                        "JFormDesigner Evaluation", javax.swing.border.TitledBorder.CENTER,
                        javax.swing.border.TitledBorder.BOTTOM,
                        new java.awt.Font("Dialog", java.awt.Font.BOLD, 12), java.awt.Color.red),
                panel2.getBorder()));
        panel2.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent e) {
                if ("border".equals(e.getPropertyName()))
                    throw new RuntimeException();
            }
        });

        panel2.setLayout(new FormLayout("51dlu, $lcgap, 54dlu", "default, $lgap, default"));

        //---- comboBox1 ----
        comboBox1.setModel(new DefaultComboBoxModel(new String[] { "<Design>", "Design A", "Design B" }));
        comboBox1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                comboBox1ActionPerformed(e);
            }
        });
        panel2.add(comboBox1, cc.xy(1, 1));
        panel2.add(textField1, cc.xy(3, 1));

        //---- button1 ----
        startTiming.setText("Start");
        startTiming.setBackground(Color.green);
        startTiming.addMouseListener(new MouseListener() {
            public void mouseReleased(MouseEvent e) {
            }

            public void mousePressed(MouseEvent e) {
            }

            public void mouseExited(MouseEvent e) {
            }

            public void mouseEntered(MouseEvent e) {
            }

            public void mouseClicked(MouseEvent e) {
                if (!beingTimed) {
                    resetDesigns(false);
                    tasksRun++;
                    beingTimed = true;
                    watch.start();
                    System.out.println("***Task #" + tasksRun);
                    startTiming.setText("Stop");
                    startTiming.setBackground(Color.red);
                } else {
                    beingTimed = false;
                    watch.stop();
                    resetDesigns(true);
                    System.out.println("Time Taken: " + watch.getElapsedTimeSecs() + " seconds");
                    System.out.println("***End of Task #" + tasksRun + "\n");
                    startTiming.setBackground(Color.green);
                    startTiming.setText("Start");
                }
            }
        });
        panel2.add(startTiming, cc.xy(1, 3));
    }
    contentPane.add(panel2, cc.xywh(3, 9, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

    //======== panel1 ========
    {
        panel1.setLayout(new FormLayout("6*(default, $lcgap), default", "2*(default)"));

        //---- DockButton_Jacket ----
        DockButton_Jacket.setIcon(new ImageIcon(getClass().getResource("/Assets/DockItems/Jackets.png")));
        DockButton_Jacket.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                DockButton_JacketMouseClicked(e);
            }
        });
        panel1.add(DockButton_Jacket, cc.xy(1, 1));

        //---- DockButton_CShirt ----
        DockButton_CShirt
                .setIcon(new ImageIcon(getClass().getResource("/Assets/DockItems/CollaredShirts.png")));
        DockButton_CShirt.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                DockButton_CShirtMouseClicked(e);
            }
        });
        panel1.add(DockButton_CShirt, cc.xy(3, 1));

        //---- DockButton_TShirt ----
        DockButton_TShirt.setIcon(new ImageIcon(getClass().getResource("/Assets/DockItems/Shirt.png")));
        DockButton_TShirt.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                DockButton_TShirtMouseClicked(e);
            }
        });
        panel1.add(DockButton_TShirt, cc.xy(5, 1));

        //---- DockButton_TTop ----
        DockButton_TTop.setIcon(new ImageIcon(getClass().getResource("/Assets/DockItems/TankTop.png")));
        DockButton_TTop.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                DockButton_TTopMouseClicked(e);
            }
        });
        panel1.add(DockButton_TTop, cc.xy(7, 1));

        //---- DockButton_Dress ----
        DockButton_Dress.setIcon(new ImageIcon(getClass().getResource("/Assets/DockItems/Dresses.png")));
        DockButton_Dress.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                DockButton_DressMouseClicked(e);
            }
        });
        panel1.add(DockButton_Dress, cc.xy(9, 1));

        //---- DockButton_Pants ----
        DockButton_Pants.setIcon(new ImageIcon(getClass().getResource("/Assets/DockItems/Pants.png")));
        DockButton_Pants.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                DockButton_PantsMouseClicked(e);
            }
        });
        panel1.add(DockButton_Pants, cc.xy(11, 1));

        //---- DockButton_Uwear ----
        DockButton_Uwear.setIcon(new ImageIcon(getClass().getResource("/Assets/DockItems/underwear.png")));
        DockButton_Uwear.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                DockButton_UwearMouseClicked(e);
            }
        });
        panel1.add(DockButton_Uwear, cc.xy(13, 1));

        //---- DockLabel_Jacket ----
        DockLabel_Jacket.setText("Jackets");
        DockLabel_Jacket.setEnabled(false);
        panel1.add(DockLabel_Jacket, cc.xywh(1, 2, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

        //---- DockLabel_CShirt ----
        DockLabel_CShirt.setText("Collared Shirts");
        DockLabel_CShirt.setEnabled(false);
        panel1.add(DockLabel_CShirt, cc.xywh(3, 2, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

        //---- DockLabel_TShirt ----
        DockLabel_TShirt.setText("T-Shirts");
        DockLabel_TShirt.setEnabled(false);
        panel1.add(DockLabel_TShirt, cc.xywh(5, 2, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

        //---- DockLabel_TTop ----
        DockLabel_TTop.setText("Tank Tops");
        DockLabel_TTop.setEnabled(false);
        panel1.add(DockLabel_TTop, cc.xywh(7, 2, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

        //---- DockLabel_Dress ----
        DockLabel_Dress.setText("Dresses");
        DockLabel_Dress.setEnabled(false);
        panel1.add(DockLabel_Dress, cc.xywh(9, 2, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

        //---- DockLabel_Pants ----
        DockLabel_Pants.setText("Pants");
        DockLabel_Pants.setEnabled(false);
        panel1.add(DockLabel_Pants, cc.xywh(11, 2, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

        //---- DockLabel_UWear ----
        DockLabel_UWear.setText("Underwear");
        DockLabel_UWear.setEnabled(false);
        panel1.add(DockLabel_UWear, cc.xywh(13, 2, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));
    }
    contentPane.add(panel1, cc.xy(5, 9));
    contentPane.add(separator2, cc.xy(5, 11));

    //======== Frame_ShirtFilter ========
    {
        Frame_ShirtFilter.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        Frame_ShirtFilter.setTitle("Design A");
        Container Frame_ShirtFilterContentPane = Frame_ShirtFilter.getContentPane();
        Frame_ShirtFilterContentPane.setLayout(new FormLayout("default, $lcgap, 85dlu, $lcgap, default",
                "default, $lgap, [8dlu,default], 2*($lgap, default), $lgap, 10dlu, 2*($lgap, default), $lgap, 11dlu, 3*($lgap, default)"));

        //---- Label_Options ----
        Label_Options.setText("Options");
        Label_Options.setFont(new Font("Dialog", Font.BOLD, 14));
        Frame_ShirtFilterContentPane.add(Label_Options, cc.xy(3, 1));
        Frame_ShirtFilterContentPane.add(vSpacer2, cc.xy(3, 3));

        //---- Label_SizeSelection ----
        Label_SizeSelection.setText("Size:");
        Frame_ShirtFilterContentPane.add(Label_SizeSelection, cc.xy(1, 5));

        //======== splitPane2 ========
        {

            //---- Label_SizeStatus ----
            Label_SizeStatus.setText("--");
            splitPane2.setLeftComponent(Label_SizeStatus);

            //---- SizeButton_Clear ----
            SizeButton_Clear.setText("Clear");
            SizeButton_Clear.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    coverFlow().resetSizes(true);
                    Label_SizeStatus.setText("--");
                }
            });
            splitPane2.setRightComponent(SizeButton_Clear);
        }
        Frame_ShirtFilterContentPane.add(splitPane2,
                cc.xywh(3, 5, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

        //======== panel6 ========
        {
            panel6.setLayout(new FormLayout("[16dlu,min], [16dlu,default], 3*([16dlu,min])", "default"));

            //---- SizeButton_XS ----
            SizeButton_XS.setText("XS");
            SizeButton_XS.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    SizeButton_XSMouseClicked(e);
                }
            });
            panel6.add(SizeButton_XS, cc.xy(1, 1));

            //---- SizeButton_S ----
            SizeButton_S.setText("S");
            SizeButton_S.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    SizeButton_SMouseClicked(e);
                }
            });
            panel6.add(SizeButton_S, cc.xy(2, 1));

            //---- SizeButton_M ----
            SizeButton_M.setText("M");
            SizeButton_M.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    SizeButton_MMouseClicked(e);
                }
            });
            panel6.add(SizeButton_M, cc.xy(3, 1));

            //---- SizeButton_L ----
            SizeButton_L.setText("L");
            SizeButton_L.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    SizeButton_LMouseClicked(e);
                }
            });
            panel6.add(SizeButton_L, cc.xy(4, 1));

            //---- SizeButton_XL ----
            SizeButton_XL.setText("XL");
            SizeButton_XL.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    SizeButton_XLMouseClicked(e);
                }
            });
            panel6.add(SizeButton_XL, cc.xy(5, 1));
        }
        Frame_ShirtFilterContentPane.add(panel6,
                cc.xywh(3, 7, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));
        Frame_ShirtFilterContentPane.add(vSpacer1, cc.xy(3, 9));

        //---- Label_ColorSelection ----
        Label_ColorSelection.setText("Color:");
        Frame_ShirtFilterContentPane.add(Label_ColorSelection, cc.xy(1, 11));

        //======== splitPane1 ========
        {

            //---- Label_ColorStatus ----
            Label_ColorStatus.setText("   ");
            Label_ColorStatus.setEnabled(false);
            splitPane1.setLeftComponent(Label_ColorStatus);

            //---- ColorButton_Clear ----
            ColorButton_Clear.setText("Clear");
            ColorButton_Clear.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {

                    ColorButton_ClearMouseClicked(e);
                }
            });
            splitPane1.setRightComponent(ColorButton_Clear);
        }
        Frame_ShirtFilterContentPane.add(splitPane1,
                cc.xywh(3, 11, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

        //======== panel7 ========
        {
            colorPalette.setLayout(new FormLayout("9*(default)", "2*(default)"));

            //---- Button_Black ----
            Button_Black.setText(" ");
            Button_Black.setBackground(Color.black);
            Button_Black.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    Button_BlackMouseClicked(e);
                }
            });
            colorPalette.add(Button_Black, cc.xy(1, 1));

            //---- Button_White ----
            Button_White.setText(" ");
            Button_White.setBackground(Color.white);
            Button_White.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    Button_WhiteMouseClicked(e);
                }
            });
            colorPalette.add(Button_White, cc.xy(1, 2));

            //---- Button_Red ----
            Button_Red.setText(" ");
            Button_Red.setBackground(Color.red);
            Button_Red.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    Button_RedMouseClicked(e);
                }
            });
            colorPalette.add(Button_Red, cc.xy(3, 1));

            //---- Button_Pink ----
            Button_Pink.setText(" ");
            Button_Pink.setBackground(new Color(255, 31, 229));
            Button_Pink.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    ButtonPinkButtonClicked(e);
                }
            });
            colorPalette.add(Button_Pink, cc.xy(2, 2));

            //---- Button_Purple ----
            Button_Purple.setText(" ");
            Button_Purple.setBackground(new Color(94, 61, 155));
            Button_Purple.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    Button_PurpleMouseClicked(e);
                }
            });
            colorPalette.add(Button_Purple, cc.xy(5, 2));

            //---- Button_Yellow ----
            Button_Yellow.setText(" ");
            Button_Yellow.setBackground(Color.yellow);
            Button_Yellow.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    Button_YellowMouseClicked(e);
                }
            });
            colorPalette.add(Button_Yellow, cc.xy(3, 2));

            //---- Button_Green ----
            Button_Green.setText(" ");
            Button_Green.setBackground(new Color(54, 127, 31));
            Button_Green.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    Button_GreenMouseClicked(e);
                }
            });
            colorPalette.add(Button_Green, cc.xy(4, 1));

            //---- Button Light Blue ----
            ButtonLightBlue.setText(" ");
            ButtonLightBlue.setBackground(new Color(111, 247, 255));
            ButtonLightBlue.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    ButtonLightBlue(e);
                }
            });
            colorPalette.add(ButtonLightBlue, cc.xy(4, 2));

            //---- Button_Blue ----
            Button_Blue.setText(" ");
            Button_Blue.setBackground(Color.blue);
            Button_Blue.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    Button_BlueMouseClicked(e);
                }
            });
            colorPalette.add(Button_Blue, cc.xy(5, 1));

            Button_Grey.setText(" ");
            Button_Grey.setBackground(new Color(198, 198, 198));
            Button_Grey.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    Button_GreyMouseClicked(e);
                }
            });
            colorPalette.add(Button_Grey, cc.xy(2, 1));

        }
        Frame_ShirtFilterContentPane.add(colorPalette, cc.xy(3, 13));
        Frame_ShirtFilterContentPane.add(vSpacer3, cc.xy(3, 15));

        //---- Label_PriceSelection ----
        Label_PriceSelection.setText("Price:");
        Frame_ShirtFilterContentPane.add(Label_PriceSelection, cc.xy(1, 17));

        //======== splitPane3 ========
        {

            //---- Label_PriceStatus ----

            Label_PriceStatus.setText("------------");
            splitPane3.setLeftComponent(Label_PriceStatus);

            //---- PriceButton_Clear ----
            PriceButton_Clear.setText("Clear");
            PriceButton_Clear.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    PriceButton_ClearMouseClicked(e);
                }
            });
            splitPane3.setRightComponent(PriceButton_Clear);
        }
        Frame_ShirtFilterContentPane.add(splitPane3,
                cc.xywh(3, 17, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

        //======== panel8 ========
        {
            panel8.setLayout(new FormLayout("default", "3*(default, $lgap), default"));

            //---- Button_Price25_49 ----
            bPrice26_50.setText("$26-$50");
            bPrice26_50.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    setPrice26_50(e);
                }
            });
            panel8.add(bPrice26_50, cc.xy(1, 1));

            //---- Button_Price51_75 ----
            bPrice51_75.setText("$51-$75");
            bPrice51_75.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    setPrice51_75(e);
                }
            });
            panel8.add(bPrice51_75, cc.xy(1, 3));

            //---- Button_Price 76-100----
            bPrice76_100.setText("$76-$100");
            bPrice76_100.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    setPrice76_100(e);
                }
            });
            panel8.add(bPrice76_100, cc.xy(1, 5));

            //---- Button_PriceMore100 ----
            bprice101_125.setText("$101-$125");
            bprice101_125.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    setPrice101_125(e);
                }
            });
            panel8.add(bprice101_125, cc.xy(1, 7));
        }
        Frame_ShirtFilterContentPane.add(panel8, cc.xy(3, 19));
    }
    contentPane.add(Frame_ShirtFilter, cc.xywh(3, 13, 1, 5));

    //======== internalFrame1 ========
    {
        DesignB.setTitle("Design B");
        Container internalFrame1ContentPane = DesignB.getContentPane();
        internalFrame1ContentPane.setLayout(new FormLayout(
                "2*(default, $lcgap), 20dlu, $lcgap, default, $lcgap, 22dlu, 4*($lcgap, default)",
                "4*(default, $lgap), 47dlu, 2*($lgap, default), $lgap, 26dlu, 10*($lgap, default)"));

        //---- label1 ----
        label1.setText("Options");
        internalFrame1ContentPane.add(label1, cc.xy(3, 3));

        //---- label2 ----
        label2.setText("Size");
        internalFrame1ContentPane.add(label2, cc.xy(3, 5));

        //======== Size Toggle Panel ========
        {
            sizeButtonPanel.setLayout(new FormLayout("16dlu, 4*([16dlu,default])", "default"));

            //---- Toggle_XS ----
            Toggle_XS.setText("XS");
            Toggle_XS.addMouseListener(new MouseListener() {
                public void mouseReleased(MouseEvent e) {
                }

                public void mousePressed(MouseEvent e) {
                }

                public void mouseExited(MouseEvent e) {
                }

                public void mouseEntered(MouseEvent e) {
                }

                public void mouseClicked(MouseEvent e) {
                    if (Toggle_XS.getSelectedObjects() != null) {
                        coverFlow().addFilterSize("XS");
                    } else {
                        coverFlow().removeFilterSize("XS");
                    }
                }
            });
            sizeButtonPanel.add(Toggle_XS, cc.xy(1, 1));

            //---- Toggle_S ----
            Toggle_S.setText("S");
            Toggle_S.addMouseListener(new MouseListener() {
                public void mouseReleased(MouseEvent e) {
                }

                public void mousePressed(MouseEvent e) {
                }

                public void mouseExited(MouseEvent e) {
                }

                public void mouseEntered(MouseEvent e) {
                }

                public void mouseClicked(MouseEvent e) {
                    if (Toggle_S.getSelectedObjects() != null) {
                        coverFlow().addFilterSize("S");
                    } else {
                        coverFlow().removeFilterSize("S");
                    }
                }
            });
            sizeButtonPanel.add(Toggle_S, cc.xy(2, 1));

            //---- Toggle_M ----
            Toggle_M.setText("M");
            Toggle_M.addMouseListener(new MouseListener() {
                public void mouseReleased(MouseEvent e) {
                }

                public void mousePressed(MouseEvent e) {
                }

                public void mouseExited(MouseEvent e) {
                }

                public void mouseEntered(MouseEvent e) {
                }

                public void mouseClicked(MouseEvent e) {
                    if (Toggle_M.getSelectedObjects() != null) {
                        coverFlow().addFilterSize("M");
                    } else {
                        coverFlow().removeFilterSize("M");
                    }
                }
            });
            sizeButtonPanel.add(Toggle_M, cc.xy(3, 1));

            //---- Toggle_L ----
            Toggle_L.setText("L");
            Toggle_L.addMouseListener(new MouseListener() {
                public void mouseReleased(MouseEvent e) {
                }

                public void mousePressed(MouseEvent e) {
                }

                public void mouseExited(MouseEvent e) {
                }

                public void mouseEntered(MouseEvent e) {
                }

                public void mouseClicked(MouseEvent e) {
                    if (Toggle_L.getSelectedObjects() != null) {
                        coverFlow().addFilterSize("L");
                    } else {
                        coverFlow().removeFilterSize("L");
                    }
                }
            });
            sizeButtonPanel.add(Toggle_L, cc.xy(4, 1));

            //---- Toggle_XL ----
            Toggle_XL.setText("XL");
            Toggle_XL.addMouseListener(new MouseListener() {
                public void mouseReleased(MouseEvent e) {
                }

                public void mousePressed(MouseEvent e) {
                }

                public void mouseExited(MouseEvent e) {
                }

                public void mouseEntered(MouseEvent e) {
                }

                public void mouseClicked(MouseEvent e) {
                    if (Toggle_XL.getSelectedObjects() != null) {
                        coverFlow().addFilterSize("XL");
                    } else {
                        coverFlow().removeFilterSize("XL");
                    }
                }
            });
            sizeButtonPanel.add(Toggle_XL, cc.xy(5, 1));
        }
        internalFrame1ContentPane.add(sizeButtonPanel, cc.xy(7, 5));
        internalFrame1ContentPane.add(vSpacer4, cc.xy(7, 7));

        //---- Color Label Palette ----
        colorLabelPalette.setText("Color Palette");
        internalFrame1ContentPane.add(colorLabelPalette, cc.xy(3, 9));

        //======== panel4 ========
        {
            panel4.setLayout(new FormLayout("23dlu, $lcgap, default", "22dlu, $lgap, default"));

            //---- Color Chooser #1 ----
            primaryColorChooser.setToolTipText("Click and hold to select a color from the rainbow palette");
            primaryColorChooser.setColor(Color.gray);
            primaryColorChooser.addPropertyChangeListener(new PropertyChangeListener() {
                public void propertyChange(PropertyChangeEvent evt) {

                    try {
                        Color color = (Color) evt.getNewValue();
                        coverFlow().resetColors(false);
                        coverFlow().addFilterColor(colorToString(color), false);
                    } catch (Exception e) {
                    }
                }
            });
            primaryColorChooser.addMouseListener(new MouseListener() {

                @Override
                public void mouseReleased(MouseEvent e) {
                    coverFlow().incrementRouteCounter();

                }

                @Override
                public void mousePressed(MouseEvent e) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void mouseExited(MouseEvent e) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void mouseEntered(MouseEvent e) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void mouseClicked(MouseEvent e) {
                    // TODO Auto-generated method stub

                }
            });
            panel4.add(primaryColorChooser, cc.xy(1, 1));
            ColorPalette_Clear.setText("Clear");
            ColorPalette_Clear.addMouseListener(new MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    primaryColorChooser.setColor(Color.gray);
                    coverFlow().resetColors(true);
                }
            });
            panel4.add(ColorPalette_Clear, cc.xy(3, 1));

        }
        internalFrame1ContentPane.add(panel4,
                cc.xywh(7, 9, 1, 1, CellConstraints.DEFAULT, CellConstraints.BOTTOM));
        internalFrame1ContentPane.add(vSpacer5, cc.xy(7, 11));

        //---- label4 ----
        priceRangeLabel.setText("Price Range");
        internalFrame1ContentPane.add(priceRangeLabel, cc.xy(3, 15));

        //---- textField2 ----
        rangeMinLabel.setText("25");
        rangeMinLabel.setEditable(false);
        internalFrame1ContentPane.add(rangeMinLabel, cc.xy(5, 15));

        //---- rangeSlider1 ----
        rangeSlider1.setMaximum(125);
        rangeSlider1.setMinimum(25);
        rangeSlider1.setHighValue(125);
        rangeSlider1.setLowValue(25);
        rangeSlider1.setPaintTicks(true);
        rangeSlider1.setPaintLabels(true);
        rangeSlider1.addChangeListener(new ChangeListener() {
            public void stateChanged(ChangeEvent e) {
                rangeSlider1StateChanged(e);
            }
        });
        rangeSlider1.addMouseListener(new MouseListener() {

            @Override
            public void mouseReleased(MouseEvent e) {
                coverFlow().incrementRouteCounter();

            }

            @Override
            public void mousePressed(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseExited(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseEntered(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseClicked(MouseEvent e) {
                // TODO Auto-generated method stub

            }
        });

        internalFrame1ContentPane.add(rangeSlider1, cc.xy(7, 15));

        //---- RangeMaxLabel ----
        rangeMaxLabel.setText("125");
        rangeMaxLabel.setEditable(false);
        internalFrame1ContentPane.add(rangeMaxLabel, cc.xy(9, 15));
    }
    contentPane.add(DesignB, cc.xywh(3, 15, 1, 1, CellConstraints.DEFAULT, CellConstraints.TOP));
    setSize(1475, 715);
    setLocationRelativeTo(getOwner());
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
    setupCoverFlows(this, cc);
}

From source file:editor.SettingsDialog.java

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner Evaluation license - sz gajek
    panel1 = new JPanel();
    horSize_lab = new JLabel();
    horSize_TF = new JTextField();
    vertSize_lab = new JLabel();
    vertSize_TF = new JTextField();
    gridSize_lab = new JLabel();
    gridSize_TF = new JTextField();
    gridMeters_lab = new JLabel();
    gridMeters_TF = new JTextField();
    sensorRange_lab = new JLabel();
    sensorRange_TF = new JTextField();
    panel3 = new JPanel();
    dashedLineLab = new JLabel();
    dashedModeACC_radio = new JRadioButton();
    label1 = new JLabel();
    dashedModeVIS_radio = new JRadioButton();
    panel4 = new JPanel();
    floorsNumberLab = new JLabel();
    floorNumberComboBox = new JComboBox();
    label4 = new JLabel();
    panel2 = new JPanel();
    applyAndReset = new JButton();
    apply_button = new JButton();
    cancel_button = new JButton();
    CellConstraints cc = new CellConstraints();

    //======== this ========
    setTitle("Settings");
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    Container contentPane = getContentPane();
    contentPane.setLayout(new FormLayout("105dlu:grow",
            "2*(default, $lgap), 31dlu, $lgap, bottom:46dlu:grow, $lgap, bottom:default, $lgap, 9dlu"));

    //======== panel1 ========
    {/*ww  w .j av  a2s. c  o m*/

        // JFormDesigner evaluation mark
        panel1.setBorder(new javax.swing.border.CompoundBorder(
                new javax.swing.border.TitledBorder(new javax.swing.border.EmptyBorder(0, 0, 0, 0),
                        "JFormDesigner Evaluation", javax.swing.border.TitledBorder.CENTER,
                        javax.swing.border.TitledBorder.BOTTOM,
                        new java.awt.Font("Dialog", java.awt.Font.BOLD, 12), java.awt.Color.red),
                panel1.getBorder()));
        panel1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent e) {
                if ("border".equals(e.getPropertyName()))
                    throw new RuntimeException();
            }
        });

        panel1.setLayout(new FormLayout("29dlu, $lcgap, 67dlu, $lcgap, 91dlu, $lcgap, 133dlu",
                "4*(default, $lgap), default"));

        //---- horSize_lab ----
        horSize_lab.setText("Horizontal Size");
        panel1.add(horSize_lab, cc.xy(3, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

        //---- horSize_TF ----
        horSize_TF.addCaretListener(new CaretListener() {
            @Override
            public void caretUpdate(CaretEvent e) {
                horSize_TFCaretUpdate(e);
            }
        });
        panel1.add(horSize_TF, cc.xy(5, 1));

        //---- vertSize_lab ----
        vertSize_lab.setText("Vertical Size");
        panel1.add(vertSize_lab, cc.xy(3, 3, CellConstraints.CENTER, CellConstraints.CENTER));

        //---- vertSize_TF ----
        vertSize_TF.addCaretListener(new CaretListener() {
            @Override
            public void caretUpdate(CaretEvent e) {
                vertSize_TFCaretUpdate(e);
            }
        });
        panel1.add(vertSize_TF, cc.xy(5, 3));

        //---- gridSize_lab ----
        gridSize_lab.setText("Grid size[px]");
        panel1.add(gridSize_lab, cc.xy(3, 5, CellConstraints.CENTER, CellConstraints.DEFAULT));

        //---- gridSize_TF ----
        gridSize_TF.addCaretListener(new CaretListener() {
            @Override
            public void caretUpdate(CaretEvent e) {
                gridSize_TFCaretUpdate(e);
            }
        });
        panel1.add(gridSize_TF, cc.xy(5, 5));

        //---- gridMeters_lab ----
        gridMeters_lab.setText("Grid size[m]");
        panel1.add(gridMeters_lab, cc.xy(3, 7, CellConstraints.CENTER, CellConstraints.DEFAULT));

        //---- gridMeters_TF ----
        gridMeters_TF.addCaretListener(new CaretListener() {
            @Override
            public void caretUpdate(CaretEvent e) {
                gridMeters_TFCaretUpdate(e);
            }
        });
        panel1.add(gridMeters_TF, cc.xy(5, 7));

        //---- sensorRange_lab ----
        sensorRange_lab.setText("Sensor range[m]");
        panel1.add(sensorRange_lab, cc.xy(3, 9));

        //---- sensorRange_TF ----
        sensorRange_TF.setText("6");
        sensorRange_TF.addFocusListener(new FocusAdapter() {
            @Override
            public void focusLost(FocusEvent e) {
                sensorRange_TFFocusLost(e);
            }
        });
        panel1.add(sensorRange_TF, cc.xy(5, 9));
    }
    contentPane.add(panel1, cc.xy(1, 3, CellConstraints.LEFT, CellConstraints.TOP));

    //======== panel3 ========
    {
        panel3.setLayout(new FormLayout("22dlu, $lcgap, 73dlu, $lcgap, 95dlu, $lcgap, 129dlu", "2*(default)"));

        //---- dashedLineLab ----
        dashedLineLab.setText("Dashed Line Meaning");
        panel3.add(dashedLineLab, cc.xy(3, 1));

        //---- dashedModeACC_radio ----
        dashedModeACC_radio.setText("Accesibility");
        dashedModeACC_radio.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent e) {
                dashedModeACC_radioItemStateChanged(e);
            }
        });
        panel3.add(dashedModeACC_radio, cc.xy(5, 1));

        //---- label1 ----
        label1.setText("(requires reset)");
        panel3.add(label1, cc.xy(7, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

        //---- dashedModeVIS_radio ----
        dashedModeVIS_radio.setText("Visibility and Adjency");
        dashedModeVIS_radio.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent e) {
                dashedModeVIS_radioItemStateChanged(e);
            }
        });
        panel3.add(dashedModeVIS_radio, cc.xy(5, 2));
    }
    contentPane.add(panel3, cc.xy(1, 5, CellConstraints.LEFT, CellConstraints.TOP));

    //======== panel4 ========
    {
        panel4.setLayout(new FormLayout("27dlu, $lcgap, 67dlu, $lcgap, 95dlu, $lcgap, 125dlu",
                "3*(default, $lgap), default"));

        //---- floorsNumberLab ----
        floorsNumberLab.setText("Floors number");
        panel4.add(floorsNumberLab, cc.xy(3, 1));

        //---- floorNumberComboBox ----
        floorNumberComboBox.setModel(new DefaultComboBoxModel(new String[] { "1", "2", "3", "4", "5", "6", "7",
                "8", "9", "10", "11", "12", "15", "20", "25", "30" }));
        floorNumberComboBox.setSelectedIndex(2);
        floorNumberComboBox.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent e) {
                floorNumberComboBoxItemStateChanged(e);
            }
        });
        panel4.add(floorNumberComboBox, cc.xy(5, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

        //---- label4 ----
        label4.setText("(requires reset)");
        panel4.add(label4, cc.xy(7, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));
    }
    contentPane.add(panel4, cc.xy(1, 7, CellConstraints.LEFT, CellConstraints.TOP));

    //======== panel2 ========
    {
        panel2.setLayout(new FormLayout("3*(default:grow, $lcgap), 43dlu:grow, 2*($lcgap, 43dlu), $lcgap, 3dlu",
                "default"));

        //---- applyAndReset ----
        applyAndReset.setText("Apply and Reset");
        applyAndReset.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                applyAndResetActionPerformed(e);
            }
        });
        panel2.add(applyAndReset, cc.xy(7, 1));

        //---- apply_button ----
        apply_button.setText("Apply");
        apply_button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                apply_buttonActionPerformed(e);
            }
        });
        panel2.add(apply_button, cc.xy(9, 1));

        //---- cancel_button ----
        cancel_button.setText("Cancel");
        cancel_button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                cancel_buttonActionPerformed(e);
            }
        });
        panel2.add(cancel_button, cc.xy(11, 1));
    }
    contentPane.add(panel2, cc.xy(1, 9, CellConstraints.FILL, CellConstraints.BOTTOM));
    setSize(520, 375);
    setLocationRelativeTo(getOwner());

    //---- dashedMeaning_BG ----
    ButtonGroup dashedMeaning_BG = new ButtonGroup();
    dashedMeaning_BG.add(dashedModeACC_radio);
    dashedMeaning_BG.add(dashedModeVIS_radio);
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
}

From source file:edu.byu.plugins.editors.panels.DigitalObjectBasicInfoPanel.java

License:Open Source License

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    panel16 = new JPanel();
    panel1 = new JPanel();
    label_resourcesLanguageCode4 = new JLabel();
    label = ATBasicComponentFactory.createTextField(detailsModel.getModel(DigitalObjects.PROPERTYNAME_LABEL),
            false);//w ww.java  2 s. co  m
    panel19 = new JPanel();
    label_resourcesTitle = new JLabel();
    scrollPane42 = new JScrollPane();
    title = ATBasicComponentFactory.createTextArea(detailsModel.getModel(ArchDescription.PROPERTYNAME_TITLE),
            false);
    resourcesPanel = new JPanel();
    resourcesLabel = new JLabel();
    scrollPane4 = new JScrollPane();
    resourcesTable = new DomainSortableTable();
    panel13 = new JPanel();
    panel17 = new JPanel();
    label_repositoryName4 = new JLabel();
    scrollPane8 = new JScrollPane();
    dateTable = new DomainSortableTable(ArchDescriptionDates.class);
    panel22 = new JPanel();
    addDate = new JButton();
    removeDate = new JButton();
    digitalObjectResourceRecordOnly = new JPanel();
    restrictionsApply = ATBasicComponentFactory.createCheckBox(detailsModel,
            ArchDescription.PROPERTYNAME_RESTRICTIONS_APPLY, DigitalObjects.class);
    label_resourcesLanguageCode3 = new JLabel();
    objectType = ATBasicComponentFactory.createComboBox(detailsModel, DigitalObjects.PROPERTYNAME_OBJECT_TYPE,
            DigitalObjects.class);
    actuateLabel2 = new JLabel();
    scrollPane43 = new JScrollPane();
    title2 = ATBasicComponentFactory
            .createTextArea(detailsModel.getModel(DigitalObjects.PROPERTYNAME_METS_IDENTIFIER), false);
    actuateLabel = new JLabel();
    actuate = ATBasicComponentFactory.createComboBox(detailsModel, DigitalObjects.PROPERTYNAME_EAD_DAO_ACTUATE,
            DigitalObjects.class);
    showLabel = new JLabel();
    show = ATBasicComponentFactory.createComboBox(detailsModel, DigitalObjects.PROPERTYNAME_EAD_DAO_SHOW,
            DigitalObjects.class);
    componentIDPanel = new JPanel();
    componentLabel1 = new JLabel();
    dateExpression2 = ATBasicComponentFactory
            .createTextField(detailsModel.getModel(DigitalObjects.PROPERTYNAME_COMPONENT_ID), false);
    panel5 = new JPanel();
    label_resourcesLanguageCode = new JLabel();
    languageCode = ATBasicComponentFactory.createComboBox(detailsModel,
            DigitalObjects.PROPERTYNAME_LANGUAGE_CODE, DigitalObjects.class);
    repositoryPanel = new JPanel();
    label_repositoryName = new JLabel();
    repositoryName = new JTextField();
    changeRepositoryButton = new JButton();
    panel2 = new JPanel();
    label1 = new JLabel();
    scrollPane6 = new JScrollPane();
    fileVersionsTable = new DomainSortableTable(FileVersions.class,
            FileVersions.PROPERTYNAME_FILE_VERSIONS_USE_STATEMENT);
    panel29 = new JPanel();
    addFileVersionButton = new JButton();
    removeFileVersionButton = new JButton();
    CellConstraints cc = new CellConstraints();

    //======== this ========
    setBackground(new Color(200, 205, 232));
    setLayout(new FormLayout(
            new ColumnSpec[] { new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) },
            new RowSpec[] { new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.NO_GROW),
                    FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC }));
    ((FormLayout) getLayout()).setColumnGroups(new int[][] { { 1, 3 } });

    //======== panel16 ========
    {
        panel16.setOpaque(false);
        panel16.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel16.setLayout(new FormLayout(ColumnSpec.decodeSpecs("default:grow"),
                new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                        new RowSpec(RowSpec.FILL, Sizes.DEFAULT, 0.30000000000000004) }));

        //======== panel1 ========
        {
            panel1.setOpaque(false);
            panel1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel1.setLayout(new FormLayout(
                    new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                            new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) },
                    RowSpec.decodeSpecs("default")));

            //---- label_resourcesLanguageCode4 ----
            label_resourcesLanguageCode4.setText("Label");
            label_resourcesLanguageCode4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            ATFieldInfo.assignLabelInfo(label_resourcesLanguageCode4, DigitalObjects.class,
                    DigitalObjects.PROPERTYNAME_LABEL);
            panel1.add(label_resourcesLanguageCode4, cc.xy(1, 1));

            //---- label ----
            label.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel1.add(label, new CellConstraints(3, 1, 1, 1, CellConstraints.DEFAULT, CellConstraints.TOP,
                    new Insets(0, 0, 0, 5)));
        }
        panel16.add(panel1, cc.xy(1, 1));

        //======== panel19 ========
        {
            panel19.setOpaque(false);
            panel19.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel19.setLayout(new FormLayout(
                    new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                            new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) },
                    new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                            new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                            FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC }));

            //---- label_resourcesTitle ----
            label_resourcesTitle.setText("Title");
            label_resourcesTitle.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            ATFieldInfo.assignLabelInfo(label_resourcesTitle, DigitalObjects.class,
                    DigitalObjects.PROPERTYNAME_TITLE);
            panel19.add(label_resourcesTitle, cc.xy(1, 1));

            //======== scrollPane42 ========
            {
                scrollPane42.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
                scrollPane42.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

                //---- title ----
                title.setRows(4);
                title.setLineWrap(true);
                title.setWrapStyleWord(true);
                title.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                scrollPane42.setViewportView(title);
            }
            panel19.add(scrollPane42, cc.xywh(1, 3, 3, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

            //======== resourcesPanel ========
            {
                resourcesPanel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                resourcesPanel.setOpaque(false);
                resourcesPanel.setBorder(new BevelBorder(BevelBorder.LOWERED));
                resourcesPanel.setLayout(new FormLayout(ColumnSpec.decodeSpecs("default:grow"),
                        new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) }));

                //---- resourcesLabel ----
                resourcesLabel.setText("Resource Linked to this Digital Object");
                resourcesLabel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                resourcesPanel.add(resourcesLabel, cc.xy(1, 1));

                //======== scrollPane4 ========
                {
                    scrollPane4.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
                    scrollPane4.setPreferredSize(new Dimension(300, 50));
                    scrollPane4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

                    //---- resourcesTable ----
                    resourcesTable.setPreferredScrollableViewportSize(new Dimension(300, 100));
                    resourcesTable.setFocusable(false);
                    scrollPane4.setViewportView(resourcesTable);
                }
                resourcesPanel.add(scrollPane4,
                        cc.xywh(1, 3, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));
            }
            panel19.add(resourcesPanel, cc.xywh(1, 5, 3, 1));
        }
        panel16.add(panel19, cc.xy(1, 3));
    }
    add(panel16, cc.xy(1, 1));

    //======== panel13 ========
    {
        panel13.setOpaque(false);
        panel13.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel13.setLayout(new FormLayout("left:default:grow", "fill:default:grow"));

        //======== panel17 ========
        {
            panel17.setOpaque(false);
            panel17.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel17.setLayout(new FormLayout(ColumnSpec.decodeSpecs("default:grow"), new RowSpec[] {
                    FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC, new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW),
                    FormFactory.LINE_GAP_ROWSPEC, new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW) }));

            //---- label_repositoryName4 ----
            label_repositoryName4.setText("Dates");
            label_repositoryName4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel17.add(label_repositoryName4, cc.xy(1, 1));

            //======== scrollPane8 ========
            {
                scrollPane8.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
                scrollPane8.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                scrollPane8.setPreferredSize(new Dimension(200, 104));

                //---- dateTable ----
                dateTable.setPreferredScrollableViewportSize(new Dimension(200, 100));
                dateTable.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        dateTableMouseClicked(e);
                    }
                });
                scrollPane8.setViewportView(dateTable);
            }
            panel17.add(scrollPane8, cc.xy(1, 3));

            //======== panel22 ========
            {
                panel22.setBackground(new Color(231, 188, 251));
                panel22.setOpaque(false);
                panel22.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                panel22.setMinimumSize(new Dimension(100, 29));
                panel22.setLayout(
                        new FormLayout(
                                new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC,
                                        FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC },
                                RowSpec.decodeSpecs("default")));

                //---- addDate ----
                addDate.setText("Add Date");
                addDate.setOpaque(false);
                addDate.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                addDate.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        addDateActionPerformed(e);
                    }
                });
                panel22.add(addDate, cc.xy(1, 1));

                //---- removeDate ----
                removeDate.setText("Remove Date");
                removeDate.setOpaque(false);
                removeDate.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                removeDate.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        removeDateActionPerformed(e);
                    }
                });
                panel22.add(removeDate, cc.xy(3, 1));
            }
            panel17.add(panel22, cc.xywh(1, 5, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

            //======== digitalObjectResourceRecordOnly ========
            {
                digitalObjectResourceRecordOnly.setOpaque(false);
                digitalObjectResourceRecordOnly.setLayout(new FormLayout(
                        new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                                new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) },
                        new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                                FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                                new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW),
                                FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC,
                                FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC,
                                FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC }));

                //---- restrictionsApply ----
                restrictionsApply.setBackground(new Color(231, 188, 251));
                restrictionsApply.setText("Restrictions Apply");
                restrictionsApply.setOpaque(false);
                restrictionsApply.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                restrictionsApply.setText(ATFieldInfo.getLabel(DigitalObjects.class,
                        ArchDescription.PROPERTYNAME_RESTRICTIONS_APPLY));
                digitalObjectResourceRecordOnly.add(restrictionsApply, cc.xywh(1, 1, 3, 1));

                //---- label_resourcesLanguageCode3 ----
                label_resourcesLanguageCode3.setText("Object Type");
                label_resourcesLanguageCode3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                ATFieldInfo.assignLabelInfo(label_resourcesLanguageCode3, DigitalObjects.class,
                        DigitalObjects.PROPERTYNAME_OBJECT_TYPE);
                digitalObjectResourceRecordOnly.add(label_resourcesLanguageCode3, cc.xy(1, 3));

                //---- objectType ----
                objectType.setMaximumSize(new Dimension(50, 27));
                objectType.setOpaque(false);
                objectType.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                digitalObjectResourceRecordOnly.add(objectType,
                        cc.xywh(3, 3, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

                //---- actuateLabel2 ----
                actuateLabel2.setText("Digital Object ID");
                actuateLabel2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                ATFieldInfo.assignLabelInfo(actuateLabel2, DigitalObjects.class,
                        DigitalObjects.PROPERTYNAME_METS_IDENTIFIER);
                digitalObjectResourceRecordOnly.add(actuateLabel2, cc.xy(1, 5));

                //======== scrollPane43 ========
                {
                    scrollPane43.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
                    scrollPane43.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

                    //---- title2 ----
                    title2.setRows(3);
                    title2.setLineWrap(true);
                    title2.setWrapStyleWord(true);
                    title2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                    scrollPane43.setViewportView(title2);
                }
                digitalObjectResourceRecordOnly.add(scrollPane43,
                        cc.xywh(3, 5, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

                //---- actuateLabel ----
                actuateLabel.setText("EAD DAO Actuate");
                actuateLabel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                ATFieldInfo.assignLabelInfo(actuateLabel, DigitalObjects.class,
                        DigitalObjects.PROPERTYNAME_EAD_DAO_ACTUATE);
                digitalObjectResourceRecordOnly.add(actuateLabel, cc.xy(1, 7));

                //---- actuate ----
                actuate.setOpaque(false);
                actuate.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                digitalObjectResourceRecordOnly.add(actuate,
                        cc.xywh(3, 7, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

                //---- showLabel ----
                showLabel.setText("EAD DAO Show");
                showLabel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                ATFieldInfo.assignLabelInfo(showLabel, DigitalObjects.class,
                        DigitalObjects.PROPERTYNAME_EAD_DAO_SHOW);
                digitalObjectResourceRecordOnly.add(showLabel, cc.xy(1, 9));

                //---- show ----
                show.setOpaque(false);
                show.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                digitalObjectResourceRecordOnly.add(show,
                        cc.xywh(3, 9, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

                //======== componentIDPanel ========
                {
                    componentIDPanel.setBackground(new Color(200, 205, 232));
                    componentIDPanel
                            .setLayout(new FormLayout(
                                    new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC,
                                            FormFactory.LABEL_COMPONENT_GAP_COLSPEC, new ColumnSpec(
                                                    ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) },
                                    RowSpec.decodeSpecs("default")));

                    //---- componentLabel1 ----
                    componentLabel1.setText("Component ID");
                    componentLabel1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                    ATFieldInfo.assignLabelInfo(componentLabel1, DigitalObjects.class,
                            DigitalObjects.PROPERTYNAME_COMPONENT_ID);
                    componentIDPanel.add(componentLabel1, cc.xy(1, 1));

                    //---- dateExpression2 ----
                    dateExpression2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                    componentIDPanel.add(dateExpression2, cc.xy(3, 1));
                }
                digitalObjectResourceRecordOnly.add(componentIDPanel, cc.xywh(1, 11, 3, 1));
            }
            panel17.add(digitalObjectResourceRecordOnly, cc.xy(1, 7));
        }
        panel13.add(panel17, cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));
    }
    add(panel13, cc.xy(3, 1));

    //======== panel5 ========
    {
        panel5.setOpaque(false);
        panel5.setLayout(new FormLayout(
                new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                        new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) },
                new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                        FormFactory.DEFAULT_ROWSPEC }));

        //---- label_resourcesLanguageCode ----
        label_resourcesLanguageCode.setText("Language");
        label_resourcesLanguageCode.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(label_resourcesLanguageCode, DigitalObjects.class,
                DigitalObjects.PROPERTYNAME_LANGUAGE_CODE);
        panel5.add(label_resourcesLanguageCode, cc.xy(1, 1));

        //---- languageCode ----
        languageCode.setMaximumSize(new Dimension(50, 27));
        languageCode.setOpaque(false);
        languageCode.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel5.add(languageCode, cc.xywh(3, 1, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

        //======== repositoryPanel ========
        {
            repositoryPanel.setOpaque(false);
            repositoryPanel.setLayout(new FormLayout(
                    new ColumnSpec[] { new ColumnSpec(Sizes.dluX(44)), FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                            new ColumnSpec(ColumnSpec.LEFT, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                            FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC },
                    RowSpec.decodeSpecs("default")));

            //---- label_repositoryName ----
            label_repositoryName.setText("Repository :");
            label_repositoryName.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            ATFieldInfo.assignLabelInfo(label_repositoryName, Accessions.class,
                    Accessions.PROPERTYNAME_REPOSITORY);
            repositoryPanel.add(label_repositoryName, cc.xy(1, 1));

            //---- repositoryName ----
            repositoryName.setEditable(false);
            repositoryName.setFocusable(false);
            repositoryName.setBorder(null);
            repositoryName.setOpaque(false);
            repositoryName.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            repositoryName.setHorizontalAlignment(SwingConstants.LEFT);
            repositoryPanel.add(repositoryName,
                    cc.xywh(3, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

            //---- changeRepositoryButton ----
            changeRepositoryButton.setText("Change Repository");
            changeRepositoryButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            changeRepositoryButton.setOpaque(false);
            changeRepositoryButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    changeRepositoryButtonActionPerformed();
                }
            });
            repositoryPanel.add(changeRepositoryButton, cc.xy(5, 1));
        }
        panel5.add(repositoryPanel, cc.xywh(1, 3, 3, 1));
    }
    add(panel5, cc.xywh(1, 3, 3, 1));

    //======== panel2 ========
    {
        panel2.setBorder(new BevelBorder(BevelBorder.LOWERED));
        panel2.setOpaque(false);
        panel2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel2.setLayout(new FormLayout(ColumnSpec.decodeSpecs("default:grow"),
                new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                        new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                        FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC }));

        //---- label1 ----
        label1.setText("File Versions");
        label1.setForeground(new Color(0, 0, 102));
        label1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(label1, DigitalObjects.class, DigitalObjects.PROPERTYNAME_FILE_VERSIONS);
        panel2.add(label1, new CellConstraints(1, 1, 1, 1, CellConstraints.DEFAULT, CellConstraints.DEFAULT,
                new Insets(5, 5, 0, 0)));

        //======== scrollPane6 ========
        {
            scrollPane6.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane6.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

            //---- fileVersionsTable ----
            fileVersionsTable.setPreferredScrollableViewportSize(new Dimension(200, 75));
            fileVersionsTable.setRowHeight(20);
            fileVersionsTable.setFocusable(false);
            fileVersionsTable.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    fileVersionTableMouseClicked(e);
                }
            });
            scrollPane6.setViewportView(fileVersionsTable);
        }
        panel2.add(scrollPane6, new CellConstraints(1, 3, 1, 1, CellConstraints.DEFAULT,
                CellConstraints.DEFAULT, new Insets(0, 10, 0, 5)));

        //======== panel29 ========
        {
            panel29.setBackground(new Color(231, 188, 251));
            panel29.setOpaque(false);
            panel29.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel29.setLayout(
                    new FormLayout(
                            new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC,
                                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC },
                            RowSpec.decodeSpecs("default")));

            //---- addFileVersionButton ----
            addFileVersionButton.setText("Add File Version");
            addFileVersionButton.setOpaque(false);
            addFileVersionButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            addFileVersionButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    addFileVersionButtonActionPerformed();
                }
            });
            panel29.add(addFileVersionButton, cc.xy(1, 1));

            //---- removeFileVersionButton ----
            removeFileVersionButton.setText("Remove File Version");
            removeFileVersionButton.setOpaque(false);
            removeFileVersionButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            removeFileVersionButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    removeFileVersionButtonActionPerformed();
                }
            });
            panel29.add(removeFileVersionButton, cc.xy(3, 1));
        }
        panel2.add(panel29, cc.xywh(1, 5, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));
    }
    add(panel2, cc.xywh(1, 5, 3, 1));
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
}

From source file:edu.byu.plugins.editors.panels.ResourceBasicInfoPanel.java

License:Open Source License

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    panel16 = new JPanel();
    panel19 = new JPanel();
    label_resourcesLevel = new JLabel();
    resourcesLevel = ATBasicComponentFactory.createComboBox(detailsModel, Resources.PROPERTYNAME_LEVEL,
            Resources.class);
    label_otherLevel = new JLabel();
    resourcesOtherLevel = ATBasicComponentFactory
            .createTextField(detailsModel.getModel(Resources.PROPERTYNAME_OTHER_LEVEL), false);
    label_resourcesTitle = new JLabel();
    scrollPane2 = new JScrollPane();
    resourcesTitle = ATBasicComponentFactory
            .createTextArea(detailsModel.getModel(ArchDescription.PROPERTYNAME_TITLE), false);
    tagApplicatorPanel = new JPanel();
    insertInlineTag = ATBasicComponentFactory
            .createUnboundComboBox(InLineTagsUtils.getInLineTagList(InLineTagsUtils.TITLE));
    label_repositoryName4 = new JLabel();
    scrollPane8 = new JScrollPane();
    dateTable = new DomainSortableTable(ArchDescriptionDates.class);
    panel22 = new JPanel();
    addDate = new JButton();
    removeDate = new JButton();
    panel1 = new JPanel();
    label_resourcesLanguageCode = new JLabel();
    resourcesLanguageCode = ATBasicComponentFactory.createComboBox(detailsModel,
            Resources.PROPERTYNAME_LANGUAGE_CODE, Resources.class);
    label_resourcesLanguageNote = new JLabel();
    scrollPane423 = new JScrollPane();
    resourcesLanguageNote = ATBasicComponentFactory
            .createTextArea(detailsModel.getModel(Resources.PROPERTYNAME_REPOSITORY_PROCESSING_NOTE), false);
    panel6 = new JPanel();
    label_agreementReceived2 = new JLabel();
    repositoryName = new JTextField();
    changeRepositoryButton = new JButton();
    separator2 = new JSeparator();
    panel13 = new JPanel();
    panel17 = new JPanel();
    panel12 = new JPanel();
    label_resourceIdentifier1 = new JLabel();
    resourceIdentifier1 = ATBasicComponentFactory
            .createTextField(detailsModel.getModel(Resources.PROPERTYNAME_RESOURCE_IDENTIFIER_1));
    resourceIdentifier2 = ATBasicComponentFactory
            .createTextField(detailsModel.getModel(Resources.PROPERTYNAME_RESOURCE_IDENTIFIER_2));
    resourceIdentifier3 = ATBasicComponentFactory
            .createTextField(detailsModel.getModel(Resources.PROPERTYNAME_RESOURCE_IDENTIFIER_3));
    resourceIdentifier4 = ATBasicComponentFactory
            .createTextField(detailsModel.getModel(Resources.PROPERTYNAME_RESOURCE_IDENTIFIER_4));
    panel42 = new JPanel();
    panel43 = new JPanel();
    OtherAccessionsLabel = new JLabel();
    scrollPane4 = new JScrollPane();
    accessionsTable = new DomainSortableTable();
    label_repositoryName5 = new JLabel();
    scrollPane9 = new JScrollPane();
    physicalDescriptionsTable = new DomainSortableTable(ArchDescriptionPhysicalDescriptions.class);
    panel23 = new JPanel();
    addPhysicalDescription = new JButton();
    removePhysicalDescription = new JButton();
    panel39 = new JPanel();
    panel40 = new JPanel();
    label1 = new JLabel();
    scrollPane6 = new JScrollPane();
    instancesTable = new DomainSortableTable(ArchDescriptionInstances.class,
            ArchDescriptionInstances.PROPERTYNAME_INSTANCE_TYPE);
    panel29 = new JPanel();
    addInstanceButton = new JButton();
    removeInstanceButton = new JButton();
    panel2 = new JPanel();
    restrictionsApply2 = ATBasicComponentFactory.createCheckBox(detailsModel,
            Resources.PROPERTYNAME_INTERNAL_ONLY, Resources.class);
    restrictionsApply = ATBasicComponentFactory.createCheckBox(detailsModel,
            ArchDescription.PROPERTYNAME_RESTRICTIONS_APPLY, Resources.class);
    CellConstraints cc = new CellConstraints();

    //======== this ========
    setBackground(new Color(200, 205, 232));
    setLayout(new FormLayout(new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC,
            FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC,
            FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC },
            RowSpec.decodeSpecs("default")));

    //======== panel16 ========
    {//from w  w w .j a v  a 2 s .co m
        panel16.setOpaque(false);
        panel16.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel16.setBorder(Borders.DLU2_BORDER);
        panel16.setLayout(new FormLayout(ColumnSpec.decodeSpecs("default:grow"),
                new RowSpec[] { new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                        FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                        FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                        new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW), FormFactory.LINE_GAP_ROWSPEC,
                        FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                        new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW), FormFactory.LINE_GAP_ROWSPEC,
                        new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                        FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC }));

        //======== panel19 ========
        {
            panel19.setOpaque(false);
            panel19.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel19.setLayout(new FormLayout(
                    new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                            new ColumnSpec(ColumnSpec.LEFT, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) },
                    new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                            FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                            FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                            new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                            FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC }));

            //---- label_resourcesLevel ----
            label_resourcesLevel.setText("Level");
            label_resourcesLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            ATFieldInfo.assignLabelInfo(label_resourcesLevel, Resources.class, Resources.PROPERTYNAME_LEVEL);
            panel19.add(label_resourcesLevel,
                    cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

            //---- resourcesLevel ----
            resourcesLevel.setOpaque(false);
            resourcesLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            resourcesLevel.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    resourcesLevelActionPerformed();
                }
            });
            panel19.add(resourcesLevel, cc.xywh(3, 1, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

            //---- label_otherLevel ----
            label_otherLevel.setText("Other Level");
            label_otherLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            ATFieldInfo.assignLabelInfo(label_otherLevel, Resources.class, Resources.PROPERTYNAME_OTHER_LEVEL);
            panel19.add(label_otherLevel, cc.xy(1, 3));

            //---- resourcesOtherLevel ----
            resourcesOtherLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel19.add(resourcesOtherLevel, new CellConstraints(3, 3, 1, 1, CellConstraints.FILL,
                    CellConstraints.TOP, new Insets(0, 0, 0, 5)));

            //---- label_resourcesTitle ----
            label_resourcesTitle.setText("Title");
            label_resourcesTitle.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            ATFieldInfo.assignLabelInfo(label_resourcesTitle, Resources.class, Resources.PROPERTYNAME_TITLE);
            panel19.add(label_resourcesTitle, cc.xywh(1, 5, 3, 1));

            //======== scrollPane2 ========
            {

                //---- resourcesTitle ----
                resourcesTitle.setRows(4);
                resourcesTitle.setLineWrap(true);
                resourcesTitle.setWrapStyleWord(true);
                resourcesTitle.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                scrollPane2.setViewportView(resourcesTitle);
            }
            panel19.add(scrollPane2, cc.xywh(1, 7, 3, 1));

            //======== tagApplicatorPanel ========
            {
                tagApplicatorPanel.setOpaque(false);
                tagApplicatorPanel
                        .setLayout(new FormLayout(
                                new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC,
                                        FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC,
                                        FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC },
                                RowSpec.decodeSpecs("default")));

                //---- insertInlineTag ----
                insertInlineTag.setOpaque(false);
                insertInlineTag.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                insertInlineTag.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        insertInlineTagActionPerformed();
                    }
                });
                tagApplicatorPanel.add(insertInlineTag, cc.xy(1, 1));
            }
            panel19.add(tagApplicatorPanel, cc.xywh(1, 9, 3, 1));
        }
        panel16.add(panel19, cc.xy(1, 1));

        //---- label_repositoryName4 ----
        label_repositoryName4.setText("Dates");
        label_repositoryName4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel16.add(label_repositoryName4, cc.xy(1, 3));

        //======== scrollPane8 ========
        {
            scrollPane8.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane8.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            scrollPane8.setPreferredSize(new Dimension(200, 104));

            //---- dateTable ----
            dateTable.setPreferredScrollableViewportSize(new Dimension(200, 100));
            dateTable.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    dateTableMouseClicked(e);
                }
            });
            scrollPane8.setViewportView(dateTable);
        }
        panel16.add(scrollPane8, cc.xywh(1, 5, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

        //======== panel22 ========
        {
            panel22.setBackground(new Color(231, 188, 251));
            panel22.setOpaque(false);
            panel22.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel22.setMinimumSize(new Dimension(100, 29));
            panel22.setLayout(
                    new FormLayout(
                            new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC,
                                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC },
                            RowSpec.decodeSpecs("default")));

            //---- addDate ----
            addDate.setText("Add Date");
            addDate.setOpaque(false);
            addDate.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            addDate.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    addDateActionPerformed(e);
                }
            });
            panel22.add(addDate, cc.xy(1, 1));

            //---- removeDate ----
            removeDate.setText("Remove Date");
            removeDate.setOpaque(false);
            removeDate.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            removeDate.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    removeDateActionPerformed(e);
                }
            });
            panel22.add(removeDate, cc.xy(3, 1));
        }
        panel16.add(panel22, cc.xywh(1, 7, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

        //======== panel1 ========
        {
            panel1.setOpaque(false);
            panel1.setLayout(
                    new FormLayout(
                            new ColumnSpec[] { new ColumnSpec(ColumnSpec.LEFT, Sizes.DEFAULT, FormSpec.NO_GROW),
                                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                                    new ColumnSpec("left:min(default;200px)") },
                            RowSpec.decodeSpecs("default")));

            //---- label_resourcesLanguageCode ----
            label_resourcesLanguageCode.setText("Language");
            label_resourcesLanguageCode.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            ATFieldInfo.assignLabelInfo(label_resourcesLanguageCode, Resources.class,
                    Resources.PROPERTYNAME_LANGUAGE_CODE);
            panel1.add(label_resourcesLanguageCode, cc.xy(1, 1));

            //---- resourcesLanguageCode ----
            resourcesLanguageCode.setMaximumSize(new Dimension(50, 27));
            resourcesLanguageCode.setOpaque(false);
            resourcesLanguageCode.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel1.add(resourcesLanguageCode,
                    cc.xywh(3, 1, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));
        }
        panel16.add(panel1, cc.xy(1, 9));

        //---- label_resourcesLanguageNote ----
        label_resourcesLanguageNote.setText("Repository Processing Note");
        label_resourcesLanguageNote.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(label_resourcesLanguageNote, Resources.class,
                Resources.PROPERTYNAME_REPOSITORY_PROCESSING_NOTE);
        panel16.add(label_resourcesLanguageNote, cc.xy(1, 11));

        //======== scrollPane423 ========
        {
            scrollPane423.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane423.setOpaque(false);
            scrollPane423.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

            //---- resourcesLanguageNote ----
            resourcesLanguageNote.setRows(4);
            resourcesLanguageNote.setLineWrap(true);
            resourcesLanguageNote.setWrapStyleWord(true);
            resourcesLanguageNote.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            scrollPane423.setViewportView(resourcesLanguageNote);
        }
        panel16.add(scrollPane423, cc.xy(1, 13));

        //======== panel6 ========
        {
            panel6.setOpaque(false);
            panel6.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel6.setLayout(new FormLayout(
                    new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                            new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) },
                    new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                            FormFactory.DEFAULT_ROWSPEC }));

            //---- label_agreementReceived2 ----
            label_agreementReceived2.setText("Repository");
            label_agreementReceived2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            ATFieldInfo.assignLabelInfo(label_agreementReceived2, Resources.class,
                    Resources.PROPERTYNAME_REPOSITORY);
            panel6.add(label_agreementReceived2, cc.xy(1, 1));

            //---- repositoryName ----
            repositoryName.setEditable(false);
            repositoryName.setOpaque(false);
            repositoryName.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            repositoryName.setBorder(null);
            panel6.add(repositoryName, cc.xy(3, 1));

            //---- changeRepositoryButton ----
            changeRepositoryButton.setText("Change Repository");
            changeRepositoryButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            changeRepositoryButton.setOpaque(false);
            changeRepositoryButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    changeRepositoryButtonActionPerformed();
                }
            });
            panel6.add(changeRepositoryButton,
                    cc.xywh(3, 3, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));
        }
        panel16.add(panel6, cc.xy(1, 15));
    }
    add(panel16, cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

    //---- separator2 ----
    separator2.setForeground(new Color(147, 131, 86));
    separator2.setOrientation(SwingConstants.VERTICAL);
    add(separator2, cc.xywh(3, 1, 1, 1, CellConstraints.FILL, CellConstraints.FILL));

    //======== panel13 ========
    {
        panel13.setOpaque(false);
        panel13.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel13.setBorder(Borders.DLU2_BORDER);
        panel13.setLayout(new FormLayout("default:grow", "fill:default:grow"));

        //======== panel17 ========
        {
            panel17.setOpaque(false);
            panel17.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel17.setLayout(new FormLayout(ColumnSpec.decodeSpecs("default:grow"), new RowSpec[] {
                    new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW), FormFactory.LINE_GAP_ROWSPEC,
                    new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                    FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    new RowSpec(RowSpec.CENTER, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                    FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC }));

            //======== panel12 ========
            {
                panel12.setBackground(new Color(231, 188, 251));
                panel12.setOpaque(false);
                panel12.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                panel12.setLayout(new FormLayout(
                        new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                                new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                                FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                                new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                                FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                                new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                                FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                                new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) },
                        RowSpec.decodeSpecs("default")));
                ((FormLayout) panel12.getLayout()).setColumnGroups(new int[][] { { 3, 5, 7, 9 } });

                //---- label_resourceIdentifier1 ----
                label_resourceIdentifier1.setText("Resource ID");
                label_resourceIdentifier1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                ATFieldInfo.assignLabelInfo(label_resourceIdentifier1, Resources.class,
                        Resources.PROPERTYNAME_RESOURCE_IDENTIFIER);
                panel12.add(label_resourceIdentifier1, cc.xy(1, 1));

                //---- resourceIdentifier1 ----
                resourceIdentifier1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                panel12.add(resourceIdentifier1, cc.xy(3, 1));

                //---- resourceIdentifier2 ----
                resourceIdentifier2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                panel12.add(resourceIdentifier2, cc.xy(5, 1));

                //---- resourceIdentifier3 ----
                resourceIdentifier3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                panel12.add(resourceIdentifier3, cc.xy(7, 1));

                //---- resourceIdentifier4 ----
                resourceIdentifier4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                panel12.add(resourceIdentifier4, cc.xy(9, 1));
            }
            panel17.add(panel12, cc.xy(1, 1));

            //======== panel42 ========
            {
                panel42.setBorder(new BevelBorder(BevelBorder.LOWERED));
                panel42.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                panel42.setBackground(new Color(182, 187, 212));
                panel42.setLayout(new FormLayout(ColumnSpec.decodeSpecs("default:grow"),
                        new RowSpec[] { new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                                FormFactory.RELATED_GAP_ROWSPEC }));

                //======== panel43 ========
                {
                    panel43.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                    panel43.setOpaque(false);
                    panel43.setBorder(Borders.DLU2_BORDER);
                    panel43.setLayout(new FormLayout(ColumnSpec.decodeSpecs("default:grow"),
                            new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                                    new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) }));

                    //---- OtherAccessionsLabel ----
                    OtherAccessionsLabel.setText("Accessions linked to this Resource ID:");
                    OtherAccessionsLabel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                    panel43.add(OtherAccessionsLabel, cc.xy(1, 1));

                    //======== scrollPane4 ========
                    {
                        scrollPane4.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
                        scrollPane4.setPreferredSize(new Dimension(300, 100));
                        scrollPane4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

                        //---- accessionsTable ----
                        accessionsTable.setPreferredScrollableViewportSize(new Dimension(300, 100));
                        accessionsTable.setFocusable(false);
                        scrollPane4.setViewportView(accessionsTable);
                    }
                    panel43.add(scrollPane4,
                            cc.xywh(1, 3, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));
                }
                panel42.add(panel43, cc.xy(1, 1));
            }
            panel17.add(panel42, cc.xy(1, 3));

            //---- label_repositoryName5 ----
            label_repositoryName5.setText("Physical Description");
            label_repositoryName5.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel17.add(label_repositoryName5, cc.xy(1, 5));

            //======== scrollPane9 ========
            {
                scrollPane9.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
                scrollPane9.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                scrollPane9.setPreferredSize(new Dimension(200, 104));

                //---- physicalDescriptionsTable ----
                physicalDescriptionsTable.setPreferredScrollableViewportSize(new Dimension(200, 100));
                physicalDescriptionsTable.addMouseListener(new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        physicalDescriptionMouseClicked(e);
                    }
                });
                scrollPane9.setViewportView(physicalDescriptionsTable);
            }
            panel17.add(scrollPane9, cc.xywh(1, 7, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

            //======== panel23 ========
            {
                panel23.setBackground(new Color(231, 188, 251));
                panel23.setOpaque(false);
                panel23.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                panel23.setMinimumSize(new Dimension(100, 29));
                panel23.setLayout(
                        new FormLayout(
                                new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC,
                                        FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC },
                                RowSpec.decodeSpecs("default")));

                //---- addPhysicalDescription ----
                addPhysicalDescription.setText("Add Description");
                addPhysicalDescription.setOpaque(false);
                addPhysicalDescription.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                addPhysicalDescription.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        addPhysicalDescriptionActionPerformed();
                    }
                });
                panel23.add(addPhysicalDescription, cc.xy(1, 1));

                //---- removePhysicalDescription ----
                removePhysicalDescription.setText("Remove Description");
                removePhysicalDescription.setOpaque(false);
                removePhysicalDescription.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                removePhysicalDescription.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        removePhysicalDescriptionActionPerformed();
                    }
                });
                panel23.add(removePhysicalDescription, cc.xy(3, 1));
            }
            panel17.add(panel23, cc.xywh(1, 9, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

            //======== panel39 ========
            {
                panel39.setBorder(new BevelBorder(BevelBorder.LOWERED));
                panel39.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                panel39.setBackground(new Color(182, 187, 212));
                panel39.setLayout(new FormLayout(ColumnSpec.decodeSpecs("default:grow"),
                        new RowSpec[] { new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                                FormFactory.RELATED_GAP_ROWSPEC }));

                //======== panel40 ========
                {
                    panel40.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                    panel40.setOpaque(false);
                    panel40.setBorder(Borders.DLU2_BORDER);
                    panel40.setLayout(new FormLayout(ColumnSpec.decodeSpecs("default:grow"),
                            new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                                    new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                                    FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC }));

                    //---- label1 ----
                    label1.setText("Instances");
                    label1.setForeground(new Color(0, 0, 102));
                    label1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                    ATFieldInfo.assignLabelInfo(label1, Resources.class,
                            ResourcesComponents.PROPERTYNAME_INSTANCES);
                    panel40.add(label1, cc.xy(1, 1));

                    //======== scrollPane6 ========
                    {
                        scrollPane6.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
                        scrollPane6.setOpaque(false);
                        scrollPane6.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

                        //---- instancesTable ----
                        instancesTable.setPreferredScrollableViewportSize(new Dimension(200, 75));
                        instancesTable.setRowHeight(20);
                        instancesTable.setFocusable(false);
                        instancesTable.addMouseListener(new MouseAdapter() {
                            @Override
                            public void mouseClicked(MouseEvent e) {
                                instancesTableMouseClicked(e);
                            }
                        });
                        scrollPane6.setViewportView(instancesTable);
                    }
                    panel40.add(scrollPane6,
                            cc.xywh(1, 3, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

                    //======== panel29 ========
                    {
                        panel29.setBackground(new Color(231, 188, 251));
                        panel29.setOpaque(false);
                        panel29.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                        panel29.setLayout(new FormLayout(
                                new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC,
                                        FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC },
                                RowSpec.decodeSpecs("default")));

                        //---- addInstanceButton ----
                        addInstanceButton.setText("Add Instance");
                        addInstanceButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                        addInstanceButton.setOpaque(false);
                        addInstanceButton.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent e) {
                                addInstanceButtonActionPerformed();
                            }
                        });
                        panel29.add(addInstanceButton, cc.xy(1, 1));

                        //---- removeInstanceButton ----
                        removeInstanceButton.setText("Remove Instance");
                        removeInstanceButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                        removeInstanceButton.setOpaque(false);
                        removeInstanceButton.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent e) {
                                removeInstanceButtonActionPerformed();
                            }
                        });
                        panel29.add(removeInstanceButton, cc.xy(3, 1));
                    }
                    panel40.add(panel29, cc.xywh(1, 5, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));
                }
                panel39.add(panel40, cc.xy(1, 1));
            }
            panel17.add(panel39, cc.xywh(1, 11, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

            //======== panel2 ========
            {
                panel2.setOpaque(false);
                panel2.setLayout(
                        new FormLayout(
                                new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC,
                                        FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC },
                                RowSpec.decodeSpecs("default")));

                //---- restrictionsApply2 ----
                restrictionsApply2.setText("Internal Only");
                restrictionsApply2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                restrictionsApply2.setOpaque(false);
                restrictionsApply2
                        .setText(ATFieldInfo.getLabel(Resources.class, Resources.PROPERTYNAME_INTERNAL_ONLY));
                panel2.add(restrictionsApply2, cc.xy(1, 1));

                //---- restrictionsApply ----
                restrictionsApply.setText("Restrictions Apply");
                restrictionsApply.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
                restrictionsApply.setOpaque(false);
                restrictionsApply.setText(
                        ATFieldInfo.getLabel(Resources.class, ArchDescription.PROPERTYNAME_RESTRICTIONS_APPLY));
                panel2.add(restrictionsApply, cc.xy(3, 1));
            }
            panel17.add(panel2, cc.xy(1, 13));
        }
        panel13.add(panel17, cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));
    }
    add(panel13, cc.xywh(5, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
}

From source file:eu.crisis_economics.abm.dashboard.GASearchPanel.java

License:Open Source License

private void initSearchPanel(final GASearchPanelModel model) {
    model.addModelListener(new ModelListener() {
        public void fitnessFunctionAdded() {
            fitnessFunctionList.removeAllItems();
            final List<?> list = model.getFitnessFunctions();
            for (final Object fitnessFunction : list) {
                fitnessFunctionList.addItem(fitnessFunction);
            }/*from   ww w.j ava 2  s. co  m*/
        }

        public void fitnessFunctionsRemoved() {
            fitnessFunctionList.removeAllItems();
        }

        public void parameterAdded() {
            final DefaultTreeModel treeModel = model.getChromosomeTree();
            final DefaultMutableTreeNode root = (DefaultMutableTreeNode) treeModel.getRoot();
            geneTree.expandPath(new TreePath(treeModel.getPathToRoot(root)));
        }

        public void parametersRemoved() {
            parameterAdded(); // :)
        }
    });

    numberOfTurnsField = new JTextField(double2String(model.getNumberOfTurns()));
    numberOfTurnsField.setInputVerifier(new InputVerifier() {

        public boolean verify(final JComponent input) {
            if (errorPopup != null) {
                errorPopup.hide();
                errorPopup = null;
            }

            try {
                final double value = Double.parseDouble(numberOfTurnsField.getText());
                model.setNumberOfTurns(value);
                return true;
            } catch (final NumberFormatException e) {
                final PopupFactory popupFactory = PopupFactory.getSharedInstance();
                final Point locationOnScreen = numberOfTurnsField.getLocationOnScreen();
                final JLabel message = new JLabel("Please specify a (possibly floating point) number!");
                message.setBorder(new LineBorder(Color.RED, 2, true));
                errorPopup = popupFactory.getPopup(numberOfTurnsField, message, locationOnScreen.x - 10,
                        locationOnScreen.y - 30);
                errorPopup.show();

                return false;
            }
        }
    });

    final JPanel numberOfTurnsPanel = FormsUtils
            .build("p ' f:p:g", "01", NUMBER_OF_TURNS_IN_A_SIMULATION, numberOfTurnsField).getPanel();

    // create the population parameters panel
    populationSizeField = new JSpinner(
            new SpinnerNumberModel(model.getPopulationSize(), 2, Integer.MAX_VALUE, 1));
    populationSizeField.addChangeListener(new ChangeListener() {
        public void stateChanged(final ChangeEvent e) {
            model.setPopulationSize((Integer) ((JSpinner) e.getSource()).getValue());
        }
    });

    populationRandomSeedField = new JTextField(String.valueOf(model.getPopulationRandomSeed()));
    populationRandomSeedField.setInputVerifier(new InputVerifier() {

        public boolean verify(final JComponent input) {
            if (errorPopup != null) {
                errorPopup.hide();
                errorPopup = null;
            }

            try {
                final int value = Integer.parseInt(populationRandomSeedField.getText());
                model.setPopulationRandomSeed(value);
                return true;
            } catch (final NumberFormatException e) {
                final PopupFactory popupFactory = PopupFactory.getSharedInstance();
                final Point locationOnScreen = populationRandomSeedField.getLocationOnScreen();
                final JLabel message = new JLabel("Please specify an integer number!");
                message.setBorder(new LineBorder(Color.RED, 2, true));
                errorPopup = popupFactory.getPopup(populationRandomSeedField, message, locationOnScreen.x - 10,
                        locationOnScreen.y - 30);
                errorPopup.show();

                return false;
            }
        }
    });

    final JPanel populationPanel = FormsUtils.build("p ~ f:p:g", "01 ||" + "23", "Size", populationSizeField,
            "Random seed", populationRandomSeedField).getPanel();
    populationPanel.setBorder(
            BorderFactory.createTitledBorder(null, "Population", TitledBorder.LEADING, TitledBorder.BELOW_TOP));
    Style.registerCssClasses(populationPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    // create the stopping conditions panel
    numberOfGenerationsRadioButton = new JRadioButton("Number of generations");
    numberOfGenerationsField = new JSpinner(
            new SpinnerNumberModel(model.getNumberOfGenerations(), 1, Integer.MAX_VALUE, 1));
    numberOfGenerationsField.addChangeListener(new ChangeListener() {

        public void stateChanged(final ChangeEvent e) {
            model.setNumberOfGenerations((Integer) ((JSpinner) e.getSource()).getValue());
        }
    });
    numberOfGenerationsRadioButton.addChangeListener(new ChangeListener() {

        public void stateChanged(final ChangeEvent e) {
            if (numberOfGenerationsRadioButton.isSelected()) {
                numberOfGenerationsField.setEnabled(true);
                model.setFixNumberOfGenerations(true);
            } else
                numberOfGenerationsField.setEnabled(false);
        }
    });

    fitnessLimitRadioButton = new JRadioButton("Fitness limit");
    fitnessLimitField = new JTextField(String.valueOf(model.getFitnessLimitCriterion()));
    fitnessLimitField.setInputVerifier(new InputVerifier() {

        public boolean verify(final JComponent input) {
            if (errorPopup != null) {
                errorPopup.hide();
                errorPopup = null;
            }

            try {
                final double value = Double.parseDouble(fitnessLimitField.getText());
                if (value < 0)
                    throw new NumberFormatException();
                model.setFitnessLimitCriterion(value);
                return true;
            } catch (final NumberFormatException e) {
                final PopupFactory popupFactory = PopupFactory.getSharedInstance();
                final Point locationOnScreen = fitnessLimitField.getLocationOnScreen();
                final JLabel message = new JLabel(
                        "Please specify a non-negative (possibly floating point) number!");
                message.setBorder(new LineBorder(Color.RED, 2, true));
                errorPopup = popupFactory.getPopup(fitnessLimitField, message, locationOnScreen.x - 10,
                        locationOnScreen.y - 30);
                errorPopup.show();

                return false;
            }
        }
    });
    fitnessLimitRadioButton.addChangeListener(new ChangeListener() {

        public void stateChanged(final ChangeEvent e) {
            if (fitnessLimitRadioButton.isSelected()) {
                fitnessLimitField.setEnabled(true);
                model.setFixNumberOfGenerations(false);
            } else
                fitnessLimitField.setEnabled(false);
        }
    });

    GUIUtils.createButtonGroup(numberOfGenerationsRadioButton, fitnessLimitRadioButton);

    if (model.getNumberOfGenerations() < 0) {
        fitnessLimitRadioButton.setSelected(true);
        numberOfGenerationsField.setEnabled(false);
        model.setFixNumberOfGenerations(false);
    } else {
        fitnessLimitField.setEnabled(false);
        numberOfGenerationsRadioButton.setSelected(true);
        model.setFixNumberOfGenerations(true);
    }

    final JPanel stoppingPanel = FormsUtils.build("p ~ f:p:g", "01 |" + "23", numberOfGenerationsRadioButton,
            numberOfGenerationsField, fitnessLimitRadioButton, fitnessLimitField).getPanel();
    stoppingPanel.setBorder(
            BorderFactory.createTitledBorder(null, "Stopping", TitledBorder.LEADING, TitledBorder.BELOW_TOP));
    Style.registerCssClasses(stoppingPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    // create the fitness function panel
    fitnessMinimizeRadioButton = new JRadioButton("Minimize");
    fitnessMaximizeRadioButton = new JRadioButton("Maximize");

    GUIUtils.createButtonGroup(fitnessMinimizeRadioButton, fitnessMaximizeRadioButton);
    GUIUtils.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if (fitnessMinimizeRadioButton.isSelected())
                model.setFitnessFunctionDirection(FitnessFunctionDirection.MINIMIZE);
            else if (fitnessMaximizeRadioButton.isSelected())
                model.setFitnessFunctionDirection(FitnessFunctionDirection.MAXIMIZE);
        }
    }, fitnessMinimizeRadioButton, fitnessMaximizeRadioButton);

    if (model.getFitnessFunctionDirection() == FitnessFunctionDirection.MINIMIZE)
        fitnessMinimizeRadioButton.setSelected(true);
    else
        fitnessMaximizeRadioButton.setSelected(true);

    final JPanel fitnessButtonsPanel = new JPanel();
    Style.registerCssClasses(fitnessButtonsPanel, Dashboard.CSS_CLASS_COMMON_PANEL);
    fitnessButtonsPanel.add(fitnessMinimizeRadioButton);
    fitnessButtonsPanel.add(fitnessMaximizeRadioButton);

    fitnessFunctionList = new JComboBox(model.getFitnessFunctions().toArray(new Object[0]));
    fitnessFunctionList.setSelectedItem(model.getSelectedFitnessFunction());
    fitnessFunctionList.addItemListener(new ItemListener() {

        public void itemStateChanged(final ItemEvent e) {
            if (ItemEvent.SELECTED == e.getStateChange())
                model.setSelectedFitnessFunction((RecordableInfo) e.getItem());
        }
    });

    initializeStatistics(model);
    final SpinnerNumberModel spinnerNumberModel = new SpinnerNumberModel();
    spinnerNumberModel.setStepSize(10);
    spinnerNumberModel.setValue(model.getFitnessTimeSeriesLength());
    fitnessTimeSeriesLength = new JSpinner(spinnerNumberModel);
    spinnerNumberModel.addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(ChangeEvent e) {
            model.setFitnessTimeSeriesLength((Integer) spinnerNumberModel.getValue());
        }
    });

    JXLabel fitnessMessage = new JXLabel(
            "Please specify a function that always returns with non-negative value!");
    fitnessMessage.setLineWrap(true);
    final JPanel fitnessPanel = FormsUtils
            .build("p ~ f:p:g ~ p", "000 |" + "122 ||" + "345 ||" + "677 ||" + "888", fitnessButtonsPanel,
                    "Statistics", fitnessStatistics, "of the last", fitnessTimeSeriesLength, "values of",
                    "Fitness function", fitnessFunctionList, fitnessMessage)
            .getPanel();
    fitnessPanel.setBorder(
            BorderFactory.createTitledBorder(null, "Fitness", TitledBorder.LEADING, TitledBorder.BELOW_TOP));
    Style.registerCssClasses(fitnessPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    operatorSettingsPanel = new JPanel(new CardLayout());
    operatorSettingsPanel.setBorder(BorderFactory.createTitledBorder(null,
            OPERATOR_SETTINGS_PANEL_TITLE_POSTFIX, TitledBorder.LEADING, TitledBorder.BELOW_TOP));
    Style.registerCssClasses(operatorSettingsPanel, Dashboard.CSS_CLASS_COMMON_PANEL);
    operatorSettingsPanel.add(new JLabel("Here come the operator settings!"),
            OPERATOR_SETTINGS_PANEL_DEFAULT_PANEL);

    final JPanel operatorDescriptionPanel = new JPanel(new BorderLayout());
    operatorDescriptionPanel.setBorder(BorderFactory.createTitledBorder(null, DESCRIPTION_PANEL,
            TitledBorder.LEADING, TitledBorder.BELOW_TOP));
    Style.registerCssClasses(operatorDescriptionPanel, Dashboard.CSS_CLASS_COMMON_PANEL);
    operatorDescriptionPanel.add(initDescriptionPanel(), BorderLayout.CENTER);

    final List<IGASelectorConfigurator> selectionOperators = model.getSelectionOperators();
    final List<IGASelectorConfigurator> selectedSelectionOperators = model.getSelectedSelectionOperators();
    final CheckListModel selectorListModel = new CheckListModel(selectionOperators);
    selectorList = new CheckList(selectorListModel);
    Style.registerCssClasses(selectorList, Dashboard.CSS_CLASS_COMMON_PANEL);
    selectorList.setBorder(
            BorderFactory.createTitledBorder(null, "Selection", TitledBorder.LEADING, TitledBorder.BELOW_TOP));
    selectorList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    int i = 0;
    for (final IGASelectorConfigurator selectionOperator : selectionOperators) {
        final JPanel settingspanel = selectionOperator.getSettingspanel();
        Style.registerCssClasses(settingspanel, Dashboard.CSS_CLASS_COMMON_PANEL);

        String description = selectionOperator.getDescription();
        Style.registerCssClasses(description, Dashboard.CSS_CLASS_COMMON_PANEL);
        operatorSettingsPanel.add(settingspanel, selectionOperator.getName());

        if (selectedSelectionOperators.contains(selectionOperator))
            selectorList.setChecked(i, true);

        ++i;
    }

    selectorList.addListSelectionListener(new ListSelectionListener() {

        public void valueChanged(final ListSelectionEvent e) {
            final IGASelectorConfigurator operator = (IGASelectorConfigurator) selectorList.getSelectedValue();
            showOperatorDetails(operatorSettingsPanel, operatorDescriptionPanel, operator);
        }
    });

    selectorListModel.addListDataListener(new ListDataListener() {

        public void intervalRemoved(final ListDataEvent e) {
        }

        public void intervalAdded(final ListDataEvent e) {
        }

        public void contentsChanged(final ListDataEvent e) {
            final IGASelectorConfigurator operator = (IGASelectorConfigurator) selectorList.getSelectedValue();

            if (selectorList.getModel().getCheckedState(e.getIndex0()))
                model.setSelectedSelectionOperator(operator);
            else
                model.unsetSelectedSelectionOperator(operator);
        }
    });

    List<IGAOperatorConfigurator> geneticOperators = model.getGeneticOperators();
    List<IGAOperatorConfigurator> selectedGeneticOperators = model.getSelectedGeneticOperators();
    CheckListModel operatorListModel = new CheckListModel(geneticOperators);
    operatorList = new CheckList(operatorListModel);
    Style.registerCssClasses(operatorList, Dashboard.CSS_CLASS_COMMON_PANEL);
    operatorList.setBorder(BorderFactory.createTitledBorder(null, "Genetic operators", TitledBorder.LEADING,
            TitledBorder.BELOW_TOP));
    operatorList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    i = 0;
    for (final IGAOperatorConfigurator operator : geneticOperators) {
        final JPanel settingsPanel = operator.getSettingspanel();
        Style.registerCssClasses(settingsPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

        String description = operator.getDescription();
        Style.registerCssClasses(description, Dashboard.CSS_CLASS_COMMON_PANEL);
        operatorSettingsPanel.add(settingsPanel, operator.getName());

        if (selectedGeneticOperators.contains(operator))
            operatorList.setChecked(i, true);

        ++i;
    }

    operatorList.addListSelectionListener(new ListSelectionListener() {

        public void valueChanged(final ListSelectionEvent e) {
            final IGAOperatorConfigurator operator = (IGAOperatorConfigurator) operatorList.getSelectedValue();
            showOperatorDetails(operatorSettingsPanel, operatorDescriptionPanel, operator);
        }
    });

    operatorListModel.addListDataListener(new ListDataListener() {

        public void intervalRemoved(final ListDataEvent e) {
        }

        public void intervalAdded(final ListDataEvent e) {
        }

        public void contentsChanged(final ListDataEvent e) {
            final IGAOperatorConfigurator operator = (IGAOperatorConfigurator) operatorList.getSelectedValue();

            if (operatorList.getModel().getCheckedState(e.getIndex0()))
                model.setSelectedGeneticOperator(operator);
            else
                model.unsetSelectedGeneticOperator(operator);
        }
    });

    final JPanel operatorDetailsPanel = FormsUtils
            .build("f:p:g(0.5) f:p:g(0.5)", "01", operatorSettingsPanel, operatorDescriptionPanel).getPanel();
    Style.registerCssClasses(operatorDetailsPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    final JPanel gaSettingsPanel = FormsUtils
            .build("f:p:g", "0||" + "1||" + "2||" + "3||" + "4||" + "5||" + "6||" + "7",
                    new FormsUtils.Separator("General parameters"), numberOfTurnsPanel,
                    new FormsUtils.Separator("Genetic algorithm settings"), populationPanel, stoppingPanel,
                    fitnessPanel, selectorList, operatorList)
            .getPanel();
    Style.registerCssClasses(gaSettingsPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    // the chromosome panel
    final JScrollPane treeScrPane = new JScrollPane();
    geneTree = new JTree(model.getChromosomeTree());
    geneTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    geneTree.setCellRenderer(new ChromosomeTreeRenderer());

    geneTree.addTreeSelectionListener(new TreeSelectionListener() {
        public void valueChanged(final TreeSelectionEvent e) {
            final TreePath selectionPath = geneTree.getSelectionPath();

            boolean success = true;
            if (editedNode != null
                    && (selectionPath == null || !editedNode.equals(selectionPath.getLastPathComponent())))
                success = modify();

            final DefaultTreeModel treeModel = model.getChromosomeTree();
            if (success) {
                if (selectionPath != null) {
                    final DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectionPath
                            .getLastPathComponent();
                    final ParameterOrGene userObj = (ParameterOrGene) node.getUserObject();
                    if (userObj.getInfo().getDescription() != null
                            && !userObj.getInfo().getDescription().trim().isEmpty())
                        descriptionLabel.setText(userObj.getInfo().getDescription());
                    else
                        descriptionLabel.setText("");

                    if (!node.equals(editedNode)) {
                        if (!node.isRoot()
                                && selectionPath.getPathCount() == treeModel.getPathToRoot(node).length) {
                            editedNode = node;
                            edit(userObj);
                        } else {
                            editedNode = null;
                            geneTree.setSelectionPath(null);
                            resetSettings();
                            enableDisableSettings(false);
                            descriptionLabel.setText("");
                        }
                    }
                } else {
                    editedNode = null;
                    resetSettings();
                    enableDisableSettings(false);
                    descriptionLabel.setText("");
                }
            } else
                geneTree.setSelectionPath(new TreePath(treeModel.getPathToRoot(editedNode)));

        }
    });

    treeScrPane.setViewportView(geneTree);
    treeScrPane.setBorder(null);
    treeScrPane.setViewportBorder(null);

    numberLabel = new JLabel("<html><b>Number of genes:</b> 0</html>");
    final JPanel treePanel = FormsUtils
            .build("~ f:p:g", "0||" + "1||" + "2 f:p:g", numberLabel, new FormsUtils.Separator(""), treeScrPane)
            .getPanel();

    treePanel.setBorder(BorderFactory.createTitledBorder(""));
    Style.registerCssClasses(treePanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    constantRButton = new JRadioButton("Constant");
    doubleGeneValueRangeRButton = new JRadioButton("Double value range");
    intGeneValueRangeRButton = new JRadioButton("Integer value range");
    listGeneValueRButton = new JRadioButton("Value list");
    GUIUtils.createButtonGroup(constantRButton, doubleGeneValueRangeRButton, intGeneValueRangeRButton,
            listGeneValueRButton);

    geneSettingsValuePanel = new JPanel(new CardLayout());
    Style.registerCssClasses(geneSettingsValuePanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    constantField = new JTextField();
    constantField.setActionCommand("CONST_FIELD");

    final JPanel constantPanel = FormsUtils
            .build("p ~ p:g", "[DialogBorder]01 p", "Constant value", constantField).getPanel();
    Style.registerCssClasses(constantPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    enumDefBox = new JComboBox(new DefaultComboBoxModel());

    final JPanel enumDefPanel = FormsUtils.build("p ~ p:g", "[DialogBorder]01 p", "Constant value", enumDefBox)
            .getPanel();
    Style.registerCssClasses(enumDefPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    submodelTypeBox = new JComboBox();

    final JPanel submodelTypePanel = FormsUtils
            .build("p ~ p:g", "[DialogBorder]01", "Constant value", submodelTypeBox).getPanel();
    Style.registerCssClasses(submodelTypePanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    fileTextField = new JTextField();
    fileTextField.setActionCommand("FILE_FIELD");
    fileTextField.addKeyListener(new KeyAdapter() {
        public void keyTyped(final KeyEvent e) {
            final char character = e.getKeyChar();
            final File file = new File(Character.isISOControl(character) ? fileTextField.getText()
                    : fileTextField.getText() + character);
            fileTextField.setToolTipText(file.getAbsolutePath());
        }
    });
    fileBrowseButton = new JButton(Page_Parameters.BROWSE_BUTTON_TEXT);
    fileBrowseButton.setActionCommand("FILE_BROWSE");

    final JPanel fileDefPanel = FormsUtils
            .build("p ~ p:g ~ p", "[DialogBorder]012", "File", fileTextField, fileBrowseButton).getPanel();
    Style.registerCssClasses(fileDefPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    intMinField = new JTextField();
    intMinField.setActionCommand("INT_MIN");
    intMaxField = new JTextField();
    intMaxField.setActionCommand("INT_MAX");
    doubleMinField = new JTextField();
    doubleMinField.setActionCommand("D_MIN");
    doubleMaxField = new JTextField();
    doubleMaxField.setActionCommand("D_MAX");
    valuesArea = new JTextArea();
    valuesArea.setToolTipText("Please specify ' ' (space) separated values!");
    valuesArea.setLineWrap(true);
    valuesArea.setWrapStyleWord(true);
    final JScrollPane valuesDefScr = new JScrollPane(valuesArea,
            ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    final JPanel doublePanel = FormsUtils.build("p ' f:p:g", "[DialogBorder]01 p ||" + "23 p", "Minimum value",
            doubleMinField, "Maximum value", doubleMaxField).getPanel();
    Style.registerCssClasses(doublePanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    final JPanel intPanel = FormsUtils.build("p ' f:p:g", "[DialogBorder]01 p ||" + "23 p", "Minimum value",
            intMinField, "Maximum value", intMaxField).getPanel();
    Style.registerCssClasses(intPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    final JPanel valuesPanel = FormsUtils
            .build("p ' p:g", "[DialogBorder]01 f:p:g", "Value list", CellConstraints.TOP, valuesDefScr)
            .getPanel();
    Style.registerCssClasses(valuesPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    final JPanel emptyPanel = new JPanel();
    Style.registerCssClasses(emptyPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    geneSettingsValuePanel.add(emptyPanel, "NULL");
    geneSettingsValuePanel.add(constantPanel, PARAM_SETTINGS_CONSTANT_VALUE_PANEL);
    geneSettingsValuePanel.add(enumDefPanel, PARAM_SETTINGS_ENUM_VALUE_PANEL);
    geneSettingsValuePanel.add(fileDefPanel, PARAM_SETTINGS_FILE_VALUE_PANEL);
    geneSettingsValuePanel.add(submodelTypePanel, PARAM_SETTINGS_SUBMODEL_VALUE_PANEL);
    geneSettingsValuePanel.add(doublePanel, GENE_SETTINGS_DOUBLE_RANGE_VALUE_PANEL);
    geneSettingsValuePanel.add(intPanel, GENE_SETTINGS_INT_RANGE_VALUE_PANEL);
    geneSettingsValuePanel.add(valuesPanel, GENE_SETTINGS_LIST_VALUE_PANEL);

    final ItemListener itemListener = new ItemListener() {
        public void itemStateChanged(final ItemEvent _) {
            if (editedNode != null) {
                final CardLayout layout = (CardLayout) geneSettingsValuePanel.getLayout();
                if (doubleGeneValueRangeRButton.isSelected())
                    layout.show(geneSettingsValuePanel, GENE_SETTINGS_DOUBLE_RANGE_VALUE_PANEL);
                else if (intGeneValueRangeRButton.isSelected())
                    layout.show(geneSettingsValuePanel, GENE_SETTINGS_INT_RANGE_VALUE_PANEL);
                else if (listGeneValueRButton.isSelected())
                    layout.show(geneSettingsValuePanel, GENE_SETTINGS_LIST_VALUE_PANEL);
                else if (constantRButton.isSelected()) {
                    final ParameterOrGene param = (ParameterOrGene) editedNode.getUserObject();
                    if (param.getInfo() instanceof SubmodelInfo)
                        layout.show(geneSettingsValuePanel, PARAM_SETTINGS_SUBMODEL_VALUE_PANEL);
                    else if (param.getInfo().isEnum() || param.getInfo() instanceof MasonChooserParameterInfo)
                        layout.show(geneSettingsValuePanel, PARAM_SETTINGS_ENUM_VALUE_PANEL);
                    else if (param.getInfo().isFile())
                        layout.show(geneSettingsValuePanel, PARAM_SETTINGS_FILE_VALUE_PANEL);
                    else
                        layout.show(geneSettingsValuePanel, PARAM_SETTINGS_CONSTANT_VALUE_PANEL);
                }
            } else {
                resetSettings();
                enableDisableSettings(false);
            }
        }
    };
    constantRButton.addItemListener(itemListener);
    doubleGeneValueRangeRButton.addItemListener(itemListener);
    intGeneValueRangeRButton.addItemListener(itemListener);
    listGeneValueRButton.addItemListener(itemListener);

    final JPanel selectPanel = FormsUtils.build("f:p:g", "0||" + "1||" + "2||" + "3", constantRButton,
            doubleGeneValueRangeRButton, intGeneValueRangeRButton, listGeneValueRButton).getPanel();
    Style.registerCssClasses(selectPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    final JPanel buttonsPanel = new JPanel();
    modifyButton = new JButton("Modify");
    modifyButton.setActionCommand("EDIT");
    cancelButton = new JButton("Cancel");
    cancelButton.setActionCommand("CANCEL");
    GUIUtils.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            final String cmd = e.getActionCommand();
            if ("EDIT".equals(cmd))
                edit();
            else if ("CANCEL".equals(cmd))
                cancel();
            else if ("CONST_FIELD".equals(cmd) || "INT_MAX".equals(cmd) || "D_MAX".equals(cmd))
                modifyButton.doClick();
            else if ("INT_MIN".equals(cmd))
                intMaxField.grabFocus();
            else if ("D_MIN".equals(cmd))
                doubleMaxField.grabFocus();
            else if ("FILE_BROWSE".equals(cmd))
                chooseFile();
        }

        private void edit() {
            if (editedNode != null)
                geneTree.setSelectionPath(null);
        }

        private void cancel() {
            resetSettings();
            enableDisableSettings(false);
            editedNode = null;
            geneTree.setSelectionPath(null);
        }

        private void chooseFile() {
            final JFileChooser fileDialog = new JFileChooser(
                    !"".equals(fileTextField.getToolTipText()) ? fileTextField.getToolTipText()
                            : parentPage.getCurrentDirectory());
            if (!"".equals(fileTextField.getToolTipText()))
                fileDialog.setSelectedFile(new File(fileTextField.getToolTipText()));
            int dialogResult = fileDialog.showOpenDialog(parentPage.getWizard());
            if (dialogResult == JFileChooser.APPROVE_OPTION) {
                final File selectedFile = fileDialog.getSelectedFile();
                if (selectedFile != null) {
                    parentPage.setCurrentDirectory(selectedFile.getAbsoluteFile().getParent());
                    fileTextField.setText(selectedFile.getName());
                    fileTextField.setToolTipText(selectedFile.getAbsolutePath());
                }
            }
        }
    }, modifyButton, cancelButton, constantField, fileTextField, intMinField, intMaxField, doubleMinField,
            doubleMaxField, fileBrowseButton);
    buttonsPanel.add(modifyButton);
    buttonsPanel.add(cancelButton);

    final JPanel geneSetterPanel = FormsUtils
            .build("f:p:g", "0||" + "1 f:p:g||" + "2 p", selectPanel, geneSettingsValuePanel, buttonsPanel)
            .getPanel();

    geneSetterPanel.setBorder(BorderFactory.createTitledBorder(null, "Gene/parameter settings",
            TitledBorder.LEADING, TitledBorder.BELOW_TOP));
    Style.registerCssClasses(geneSetterPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    final JPanel rightTop = FormsUtils.build("f:p:g p", "01 f:p:g", treePanel, geneSetterPanel).getPanel();
    rightTop.setBorder(
            BorderFactory.createTitledBorder(null, "Chromosome", TitledBorder.LEADING, TitledBorder.BELOW_TOP));
    Style.registerCssClasses(rightTop, Dashboard.CSS_CLASS_COMMON_PANEL);

    final JPanel mainPanel = FormsUtils
            .build("p f:p:g", "01 f:p:g||" + "02 p", gaSettingsPanel, rightTop, operatorDetailsPanel)
            .getPanel();
    mainPanel.setBorder(BorderFactory.createTitledBorder(""));
    Style.registerCssClasses(mainPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    setLayout(new BorderLayout());
    mainScrPane = new JScrollPane(mainPanel);
    mainScrPane.setBorder(null);
    mainScrPane.setViewportBorder(null);
    add(mainScrPane, BorderLayout.CENTER);

    resetSettings();
    enableDisableSettings(false);
}

From source file:eu.crisis_economics.abm.dashboard.Page_Parameters.java

License:Open Source License

@SuppressWarnings("serial")
private JPanel createParamsweepGUI() {

    // left// w  w  w. ja  v  a 2s . co m
    parameterList = new JList();
    parameterList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    new ListAction(parameterList, new AbstractAction() {
        public void actionPerformed(final ActionEvent event) {
            final AvailableParameter selectedParameter = (AvailableParameter) parameterList.getSelectedValue();
            addParameterToTree(new AvailableParameter[] { selectedParameter }, parameterTreeBranches.get(0));
            enableDisableParameterCombinationButtons();
        }
    });
    parameterList.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            if (!parameterList.isSelectionEmpty()) {
                boolean success = true;
                if (editedNode != null)
                    success = modify();

                if (success) {
                    cancelAllSelectionBut(parameterList);
                    resetSettings();
                    updateDescriptionField(parameterList.getSelectedValues());
                    enableDisableParameterCombinationButtons();
                } else
                    parameterList.clearSelection();
            }
        }
    });

    final JScrollPane parameterListPane = new JScrollPane(parameterList);
    parameterListPane.setBorder(BorderFactory.createTitledBorder("")); // for rounded border
    parameterListPane.setPreferredSize(new Dimension(300, 300));

    final JPanel parametersPanel = FormsUtils.build("p ' p:g", "[DialogBorder]00||" + "12||" + "34||" +
    //                                          "56||" + 
            "55||" + "66 f:p:g", new FormsUtils.Separator("<html><b>General parameters</b></html>"),
            NUMBER_OF_TURNS_LABEL_TEXT, numberOfTurnsFieldPSW, NUMBER_OF_TIMESTEPS_TO_IGNORE_LABEL_TEXT,
            numberTimestepsIgnoredPSW,
            //                                          UPDATE_CHARTS_LABEL_TEXT,onLineChartsCheckBoxPSW,
            new FormsUtils.Separator("<html><b>Model parameters</b></html>"), parameterListPane).getPanel();

    combinationsPanel = new JPanel(new GridLayout(0, 1, 5, 5));
    combinationsScrPane = new JScrollPane(combinationsPanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
            ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    combinationsScrPane.setBorder(null);
    combinationsScrPane.setPreferredSize(new Dimension(550, 500));

    parameterDescriptionLabel = new JXLabel();
    parameterDescriptionLabel.setLineWrap(true);
    parameterDescriptionLabel.setVerticalAlignment(SwingConstants.TOP);
    final JScrollPane descriptionScrollPane = new JScrollPane(parameterDescriptionLabel);
    descriptionScrollPane.setBorder(BorderFactory.createTitledBorder(null, "Description", TitledBorder.LEADING,
            TitledBorder.BELOW_TOP));
    descriptionScrollPane.setPreferredSize(
            new Dimension(PARAMETER_DESCRIPTION_LABEL_WIDTH, PARAMETER_DESCRIPTION_LABEL_HEIGHT));
    descriptionScrollPane.setViewportBorder(null);

    final JButton addNewBoxButton = new JButton("Add new combination");
    addNewBoxButton.setActionCommand(ACTIONCOMMAND_ADD_BOX);

    final JPanel left = FormsUtils.build("p ~ f:p:g ~ p", "011 f:p:g ||" + "0_2 p", parametersPanel,
            combinationsScrPane, addNewBoxButton).getPanel();
    left.setBorder(BorderFactory.createTitledBorder(null, "Specify parameter combinations",
            TitledBorder.LEADING, TitledBorder.BELOW_TOP));
    Style.registerCssClasses(left, Dashboard.CSS_CLASS_COMMON_PANEL);

    final JPanel leftAndDesc = new JPanel(new BorderLayout());
    leftAndDesc.add(left, BorderLayout.CENTER);
    leftAndDesc.add(descriptionScrollPane, BorderLayout.SOUTH);
    Style.registerCssClasses(leftAndDesc, Dashboard.CSS_CLASS_COMMON_PANEL);

    // right
    editedParameterText = new JLabel(ORIGINAL_TEXT);
    editedParameterText.setPreferredSize(new Dimension(280, 40));
    constDef = new JRadioButton("Constant");
    listDef = new JRadioButton("List");
    incrDef = new JRadioButton("Increment");

    final JPanel rightTop = FormsUtils.build("p:g", "[DialogBorder]0||" + "1||" + "2||" + "3",
            editedParameterText, constDef, listDef, incrDef).getPanel();

    Style.registerCssClasses(rightTop, Dashboard.CSS_CLASS_COMMON_PANEL);

    constDefField = new JTextField();
    final JPanel constDefPanel = FormsUtils
            .build("p ~ p:g", "[DialogBorder]01 p", "Constant value: ", CellConstraints.TOP, constDefField)
            .getPanel();

    listDefArea = new JTextArea();
    final JScrollPane listDefScr = new JScrollPane(listDefArea,
            ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    final JPanel listDefPanel = FormsUtils.build("p ~ p:g", "[DialogBorder]01|" + "_1 f:p:g||" + "_2 p",
            "Value list: ", listDefScr, "(Separate values with spaces!)").getPanel();

    incrStartValueField = new JTextField();
    incrEndValueField = new JTextField();
    incrStepField = new JTextField();

    final JPanel incrDefPanel = FormsUtils.build("p ~ p:g", "[DialogBorder]01||" + "23||" + "45",
            "Start value: ", incrStartValueField, "End value: ", incrEndValueField, "Step: ", incrStepField)
            .getPanel();

    enumDefBox = new JComboBox(new DefaultComboBoxModel());
    final JPanel enumDefPanel = FormsUtils
            .build("p ~ p:g", "[DialogBorder]01 p", "Constant value:", CellConstraints.TOP, enumDefBox)
            .getPanel();

    submodelTypeBox = new JComboBox();
    final JPanel submodelTypePanel = FormsUtils
            .build("p ~ p:g", "[DialogBorder]01", "Constant value:", CellConstraints.TOP, submodelTypeBox)
            .getPanel();

    fileTextField = new JTextField();
    fileTextField.addKeyListener(new KeyAdapter() {
        public void keyTyped(final KeyEvent e) {
            final char character = e.getKeyChar();
            final File file = new File(Character.isISOControl(character) ? fileTextField.getText()
                    : fileTextField.getText() + character);
            fileTextField.setToolTipText(file.getAbsolutePath());
        }
    });
    fileBrowseButton = new JButton(BROWSE_BUTTON_TEXT);
    fileBrowseButton.setActionCommand(ACTIONCOMMAND_BROWSE);
    final JPanel fileDefPanel = FormsUtils
            .build("p ~ p:g ~p", "[DialogBorder]012", "File:", fileTextField, fileBrowseButton).getPanel();

    constDefPanel.setName("CONST");
    listDefPanel.setName("LIST");
    incrDefPanel.setName("INCREMENT");
    enumDefPanel.setName("ENUM");
    submodelTypePanel.setName("SUBMODEL");
    fileDefPanel.setName("FILE");

    Style.registerCssClasses(constDefPanel, Dashboard.CSS_CLASS_COMMON_PANEL);
    Style.registerCssClasses(listDefPanel, Dashboard.CSS_CLASS_COMMON_PANEL);
    Style.registerCssClasses(incrDefPanel, Dashboard.CSS_CLASS_COMMON_PANEL);
    Style.registerCssClasses(enumDefPanel, Dashboard.CSS_CLASS_COMMON_PANEL);
    Style.registerCssClasses(submodelTypePanel, Dashboard.CSS_CLASS_COMMON_PANEL);
    Style.registerCssClasses(fileDefPanel, Dashboard.CSS_CLASS_COMMON_PANEL);

    rightMiddle = new JPanel(new CardLayout());
    Style.registerCssClasses(rightMiddle, Dashboard.CSS_CLASS_COMMON_PANEL);
    rightMiddle.add(constDefPanel, constDefPanel.getName());
    rightMiddle.add(listDefPanel, listDefPanel.getName());
    rightMiddle.add(incrDefPanel, incrDefPanel.getName());
    rightMiddle.add(enumDefPanel, enumDefPanel.getName());
    rightMiddle.add(submodelTypePanel, submodelTypePanel.getName());
    rightMiddle.add(fileDefPanel, fileDefPanel.getName());

    modifyButton = new JButton("Modify");
    cancelButton = new JButton("Cancel");

    final JPanel rightBottom = FormsUtils
            .build("p:g p ~ p ~ p:g", "[DialogBorder]_01_ p", modifyButton, cancelButton).getPanel();

    Style.registerCssClasses(rightBottom, Dashboard.CSS_CLASS_COMMON_PANEL);

    final JPanel right = new JPanel(new BorderLayout());
    right.add(rightTop, BorderLayout.NORTH);
    right.add(rightMiddle, BorderLayout.CENTER);
    right.add(rightBottom, BorderLayout.SOUTH);
    right.setBorder(BorderFactory.createTitledBorder(null, "Parameter settings", TitledBorder.LEADING,
            TitledBorder.BELOW_TOP));

    Style.registerCssClasses(right, Dashboard.CSS_CLASS_COMMON_PANEL);

    // the whole paramsweep panel

    final JPanel content = FormsUtils.build("p:g p", "01 f:p:g", leftAndDesc, right).getPanel();
    Style.registerCssClasses(content, Dashboard.CSS_CLASS_COMMON_PANEL);

    sweepPanel = new JPanel();
    Style.registerCssClasses(sweepPanel, Dashboard.CSS_CLASS_COMMON_PANEL);
    sweepPanel.setLayout(new BorderLayout());
    final JScrollPane sp = new JScrollPane(content);
    sp.setBorder(null);
    sp.setViewportBorder(null);
    sweepPanel.add(sp, BorderLayout.CENTER);

    GUIUtils.createButtonGroup(constDef, listDef, incrDef);
    constDef.setSelected(true);
    constDef.setActionCommand("CONST");
    listDef.setActionCommand("LIST");
    incrDef.setActionCommand("INCREMENT");

    constDefField.setActionCommand("CONST_FIELD");
    incrStartValueField.setActionCommand("START_FIELD");
    incrEndValueField.setActionCommand("END_FIELD");
    incrStepField.setActionCommand("STEP_FIELD");

    modifyButton.setActionCommand("EDIT");
    cancelButton.setActionCommand("CANCEL");

    listDefArea.setLineWrap(true);
    listDefArea.setWrapStyleWord(true);
    listDefScr.setPreferredSize(new Dimension(100, 200));

    GUIUtils.addActionListener(this, modifyButton, cancelButton, constDef, listDef, incrDef, constDefField,
            incrStartValueField, incrEndValueField, incrStepField, addNewBoxButton, submodelTypeBox,
            fileBrowseButton);

    return sweepPanel;
}

From source file:eu.crisis_economics.abm.dashboard.Page_Parameters.java

License:Open Source License

@SuppressWarnings("unchecked")
private List<ParameterInfo> createAndDisplayAParameterPanel(
        final List<ai.aitia.meme.paramsweep.batch.param.ParameterInfo<?>> batchParameters, final String title,
        final SubmodelInfo parent, final boolean submodelSelectionWithoutNotify,
        final IModelHandler currentModelHandler) {
    final List<ParameterMetaData> metadata = new LinkedList<ParameterMetaData>(),
            unknownFields = new ArrayList<ParameterMetaData>();
    for (final ai.aitia.meme.paramsweep.batch.param.ParameterInfo<?> record : batchParameters) {
        final String parameterName = record.getName(), fieldName = StringUtils.uncapitalize(parameterName);
        Class<?> modelComponentType = parent == null ? currentModelHandler.getModelClass()
                : parent.getActualType();
        while (true) {
            try {
                final Field field = modelComponentType.getDeclaredField(fieldName);
                final ParameterMetaData datum = new ParameterMetaData();
                for (final Annotation element : field.getAnnotations()) {
                    if (element.annotationType().getName() != Layout.class.getName()) // Proxies
                        continue;
                    final Class<? extends Annotation> type = element.annotationType();
                    datum.verboseDescription = (String) type.getMethod("VerboseDescription").invoke(element);
                    datum.banner = (String) type.getMethod("Title").invoke(element);
                    datum.fieldName = (String) " " + type.getMethod("FieldName").invoke(element);
                    datum.imageFileName = (String) type.getMethod("Image").invoke(element);
                    datum.layoutOrder = (Double) type.getMethod("Order").invoke(element);
                }//from   w w  w .  jav a2 s.c  o m
                datum.parameter = record;
                if (datum.fieldName.trim().isEmpty())
                    datum.fieldName = parameterName.replaceAll("([A-Z])", " $1");
                metadata.add(datum);
                break;
            } catch (final SecurityException e) {
            } catch (final NoSuchFieldException e) {
            } catch (final IllegalArgumentException e) {
            } catch (final IllegalAccessException e) {
            } catch (final InvocationTargetException e) {
            } catch (final NoSuchMethodException e) {
            }
            modelComponentType = modelComponentType.getSuperclass();
            if (modelComponentType == null) {
                ParameterMetaData.createAndRegisterUnknown(fieldName, record, unknownFields);
                break;
            }
        }
    }
    Collections.sort(metadata);
    for (int i = unknownFields.size() - 1; i >= 0; --i)
        metadata.add(0, unknownFields.get(i));

    // initialize single run form
    final DefaultFormBuilder formBuilder = FormsUtils.build("p ~ p:g", "");
    appendMinimumWidthHintToPresentation(formBuilder, 550);

    if (parent == null) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                numberOfTurnsField.grabFocus();
            }
        });

        appendBannerToPresentation(formBuilder, "General Parameters");
        appendTextToPresentation(formBuilder, "Global parameters affecting the entire simulation");

        formBuilder.append(NUMBER_OF_TURNS_LABEL_TEXT, numberOfTurnsField);
        formBuilder.append(NUMBER_OF_TIMESTEPS_TO_IGNORE_LABEL_TEXT, numberTimestepsIgnored);

        appendCheckBoxFieldToPresentation(formBuilder, UPDATE_CHARTS_LABEL_TEXT, onLineChartsCheckBox);
        appendCheckBoxFieldToPresentation(formBuilder, DISPLAY_ADVANCED_CHARTS_LABEL_TEXT,
                advancedChartsCheckBox);
    }

    appendBannerToPresentation(formBuilder, title);

    final DefaultMutableTreeNode parentNode = (parent == null) ? parameterValueComponentTree
            : findParameterInfoNode(parent, false);

    final List<ParameterInfo> info = new ArrayList<ParameterInfo>();

    // Search for a @ConfigurationComponent annotation
    {
        String headerText = "", imagePath = "";
        final Class<?> parentType = parent == null ? currentModelHandler.getModelClass()
                : parent.getActualType();
        for (final Annotation element : parentType.getAnnotations()) { // Proxies
            if (element.annotationType().getName() != ConfigurationComponent.class.getName())
                continue;
            boolean doBreak = false;
            try {
                try {
                    headerText = (String) element.annotationType().getMethod("Description").invoke(element);
                    if (headerText.startsWith("#")) {
                        headerText = (String) parent.getActualType().getMethod(headerText.substring(1))
                                .invoke(parent.getInstance());
                    }
                    doBreak = true;
                } catch (IllegalArgumentException e) {
                } catch (SecurityException e) {
                } catch (IllegalAccessException e) {
                } catch (InvocationTargetException e) {
                } catch (NoSuchMethodException e) {
                }
            } catch (final Exception e) {
            }
            try {
                imagePath = (String) element.annotationType().getMethod("ImagePath").invoke(element);
                doBreak = true;
            } catch (IllegalArgumentException e) {
            } catch (SecurityException e) {
            } catch (IllegalAccessException e) {
            } catch (InvocationTargetException e) {
            } catch (NoSuchMethodException e) {
            }
            if (doBreak)
                break;
        }
        if (!headerText.isEmpty())
            appendHeaderTextToPresentation(formBuilder, headerText);
        if (!imagePath.isEmpty())
            appendImageToPresentation(formBuilder, imagePath);
    }

    if (metadata.isEmpty()) {
        // No fields to display.
        appendTextToPresentation(formBuilder, "No configuration is required for this module.");
    } else {
        for (final ParameterMetaData record : metadata) {
            final ai.aitia.meme.paramsweep.batch.param.ParameterInfo<?> batchParameterInfo = record.parameter;

            if (!record.banner.isEmpty())
                appendBannerToPresentation(formBuilder, record.banner);
            if (!record.imageFileName.isEmpty())
                appendImageToPresentation(formBuilder, record.imageFileName);
            appendTextToPresentation(formBuilder, record.verboseDescription);

            final ParameterInfo parameterInfo = InfoConverter.parameterInfo2ParameterInfo(batchParameterInfo);
            if (parent != null && parameterInfo instanceof ISubmodelGUIInfo) {
                //               sgi.setParentValue(parent.getActualType());
            }

            final JComponent field;
            final DefaultMutableTreeNode oldNode = findParameterInfoNode(parameterInfo, true);
            Pair<ParameterInfo, JComponent> userData = null;
            JComponent oldField = null;
            if (oldNode != null) {
                userData = (Pair<ParameterInfo, JComponent>) oldNode.getUserObject();
                oldField = userData.getSecond();
            }

            if (parameterInfo.isBoolean()) {
                field = new JCheckBox();
                boolean value = oldField != null ? ((JCheckBox) oldField).isSelected()
                        : ((Boolean) batchParameterInfo.getDefaultValue()).booleanValue();
                ((JCheckBox) field).setSelected(value);
            } else if (parameterInfo.isEnum() || parameterInfo instanceof MasonChooserParameterInfo) {
                Object[] elements = null;
                if (parameterInfo.isEnum()) {
                    final Class<Enum<?>> type = (Class<Enum<?>>) parameterInfo.getJavaType();
                    elements = type.getEnumConstants();
                } else {
                    final MasonChooserParameterInfo chooserInfo = (MasonChooserParameterInfo) parameterInfo;
                    elements = chooserInfo.getValidStrings();
                }
                final JComboBox list = new JComboBox(elements);

                if (parameterInfo.isEnum()) {
                    final Object value = oldField != null ? ((JComboBox) oldField).getSelectedItem()
                            : parameterInfo.getValue();
                    list.setSelectedItem(value);
                } else {
                    final int value = oldField != null ? ((JComboBox) oldField).getSelectedIndex()
                            : (Integer) parameterInfo.getValue();
                    list.setSelectedIndex(value);
                }

                field = list;
            } else if (parameterInfo instanceof SubmodelInfo) {
                final SubmodelInfo submodelInfo = (SubmodelInfo) parameterInfo;
                final Object[] elements = new Object[] { "Loading class information..." };
                final JComboBox list = new JComboBox(elements);
                //            field = list;

                final Object value = oldField != null
                        ? ((JComboBox) ((JPanel) oldField).getComponent(0)).getSelectedItem()
                        : new ClassElement(submodelInfo.getActualType(), null);

                new ClassCollector(this, list, submodelInfo, value, submodelSelectionWithoutNotify).execute();

                final JButton rightButton = new JButton();
                rightButton.setOpaque(false);
                rightButton.setRolloverEnabled(true);
                rightButton.setIcon(SHOW_SUBMODEL_ICON);
                rightButton.setRolloverIcon(SHOW_SUBMODEL_ICON_RO);
                rightButton.setDisabledIcon(SHOW_SUBMODEL_ICON_DIS);
                rightButton.setBorder(null);
                rightButton.setToolTipText("Display submodel parameters");
                rightButton.setActionCommand(ACTIONCOMMAND_SHOW_SUBMODEL);
                rightButton.addActionListener(new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent arg0) {
                        if (parameterInfo instanceof SubmodelInfo) {
                            SubmodelInfo submodelInfo = (SubmodelInfo) parameterInfo;
                            int level = 0;

                            showHideSubparameters(list, submodelInfo);

                            List<String> components = new ArrayList<String>();
                            components.add(submodelInfo.getName());
                            while (submodelInfo.getParent() != null) {
                                submodelInfo = submodelInfo.getParent();
                                components.add(submodelInfo.getName());
                                level++;
                            }
                            Collections.reverse(components);
                            final String[] breadcrumbText = components.toArray(new String[components.size()]);
                            for (int i = 0; i < breadcrumbText.length; ++i)
                                breadcrumbText[i] = breadcrumbText[i].replaceAll("([A-Z])", " $1");
                            breadcrumb.setPath(
                                    currentModelHandler.getModelClassSimpleName().replaceAll("([A-Z])", " $1"),
                                    breadcrumbText);
                            Style.apply(breadcrumb, dashboard.getCssStyle());

                            // reset all buttons that are nested deeper than this to default color
                            for (int i = submodelButtons.size() - 1; i >= level; i--) {
                                JButton button = submodelButtons.get(i);
                                button.setIcon(SHOW_SUBMODEL_ICON);
                                submodelButtons.remove(i);
                            }

                            rightButton.setIcon(SHOW_SUBMODEL_ICON_RO);
                            submodelButtons.add(rightButton);
                        }
                    }
                });

                field = new JPanel(new BorderLayout());
                field.add(list, BorderLayout.CENTER);
                field.add(rightButton, BorderLayout.EAST);
            } else if (File.class.isAssignableFrom(parameterInfo.getJavaType())) {
                field = new JPanel(new BorderLayout());

                String oldName = "";
                String oldPath = "";
                if (oldField != null) {
                    final JTextField oldTextField = (JTextField) oldField.getComponent(0);
                    oldName = oldTextField.getText();
                    oldPath = oldTextField.getToolTipText();
                } else if (parameterInfo.getValue() != null) {
                    final File file = (File) parameterInfo.getValue();
                    oldName = file.getName();
                    oldPath = file.getAbsolutePath();
                }

                final JTextField textField = new JTextField(oldName);
                textField.setToolTipText(oldPath);
                textField.setInputVerifier(new InputVerifier() {

                    @Override
                    public boolean verify(final JComponent input) {
                        final JTextField inputField = (JTextField) input;
                        if (inputField.getText() == null || inputField.getText().isEmpty()) {
                            final File file = new File("");
                            inputField.setToolTipText(file.getAbsolutePath());
                            hideError();
                            return true;
                        }

                        final File oldFile = new File(inputField.getToolTipText());
                        if (oldFile.exists() && oldFile.getName().equals(inputField.getText().trim())) {
                            hideError();
                            return true;
                        }

                        inputField.setToolTipText("");
                        final File file = new File(inputField.getText().trim());
                        if (file.exists()) {
                            inputField.setToolTipText(file.getAbsolutePath());
                            inputField.setText(file.getName());
                            hideError();
                            return true;
                        } else {
                            final PopupFactory popupFactory = PopupFactory.getSharedInstance();
                            final Point locationOnScreen = inputField.getLocationOnScreen();
                            final JLabel message = new JLabel("Please specify an existing file!");
                            message.setBorder(new LineBorder(Color.RED, 2, true));
                            if (errorPopup != null)
                                errorPopup.hide();
                            errorPopup = popupFactory.getPopup(inputField, message, locationOnScreen.x - 10,
                                    locationOnScreen.y - 30);
                            errorPopup.show();
                            return false;
                        }
                    }
                });

                final JButton browseButton = new JButton(BROWSE_BUTTON_TEXT);
                browseButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        final JFileChooser fileDialog = new JFileChooser(
                                !"".equals(textField.getToolTipText()) ? textField.getToolTipText()
                                        : currentDirectory);
                        if (!"".equals(textField.getToolTipText()))
                            fileDialog.setSelectedFile(new File(textField.getToolTipText()));
                        int dialogResult = fileDialog.showOpenDialog(dashboard);
                        if (dialogResult == JFileChooser.APPROVE_OPTION) {
                            final File selectedFile = fileDialog.getSelectedFile();
                            if (selectedFile != null) {
                                currentDirectory = selectedFile.getAbsoluteFile().getParent();
                                textField.setText(selectedFile.getName());
                                textField.setToolTipText(selectedFile.getAbsolutePath());
                            }
                        }
                    }
                });

                field.add(textField, BorderLayout.CENTER);
                field.add(browseButton, BorderLayout.EAST);
            } else if (parameterInfo instanceof MasonIntervalParameterInfo) {
                final MasonIntervalParameterInfo intervalInfo = (MasonIntervalParameterInfo) parameterInfo;

                field = new JPanel(new BorderLayout());

                String oldValueStr = String.valueOf(parameterInfo.getValue());
                if (oldField != null) {
                    final JTextField oldTextField = (JTextField) oldField.getComponent(0);
                    oldValueStr = oldTextField.getText();
                }

                final JTextField textField = new JTextField(oldValueStr);

                PercentJSlider tempSlider = null;
                if (intervalInfo.isDoubleInterval())
                    tempSlider = new PercentJSlider(intervalInfo.getIntervalMin().doubleValue(),
                            intervalInfo.getIntervalMax().doubleValue(), Double.parseDouble(oldValueStr));
                else
                    tempSlider = new PercentJSlider(intervalInfo.getIntervalMin().longValue(),
                            intervalInfo.getIntervalMax().longValue(), Long.parseLong(oldValueStr));

                final PercentJSlider slider = tempSlider;
                slider.setMajorTickSpacing(100);
                slider.setMinorTickSpacing(10);
                slider.setPaintTicks(true);
                slider.setPaintLabels(true);
                slider.addChangeListener(new ChangeListener() {
                    public void stateChanged(final ChangeEvent _) {
                        if (slider.hasFocus()) {
                            final String value = intervalInfo.isDoubleInterval()
                                    ? String.valueOf(slider.getDoubleValue())
                                    : String.valueOf(slider.getLongValue());
                            textField.setText(value);
                            slider.setToolTipText(value);
                        }
                    }
                });

                textField.setInputVerifier(new InputVerifier() {
                    public boolean verify(JComponent input) {
                        final JTextField inputField = (JTextField) input;

                        try {
                            hideError();
                            final String valueStr = inputField.getText().trim();
                            if (intervalInfo.isDoubleInterval()) {
                                final double value = Double.parseDouble(valueStr);
                                if (intervalInfo.isValidValue(valueStr)) {
                                    slider.setValue(value);
                                    return true;
                                } else
                                    showError(
                                            "Please specify a value between " + intervalInfo.getIntervalMin()
                                                    + " and " + intervalInfo.getIntervalMax() + ".",
                                            inputField);
                                return false;
                            } else {
                                final long value = Long.parseLong(valueStr);
                                if (intervalInfo.isValidValue(valueStr)) {
                                    slider.setValue(value);
                                    return true;
                                } else {
                                    showError("Please specify an integer value between "
                                            + intervalInfo.getIntervalMin() + " and "
                                            + intervalInfo.getIntervalMax() + ".", inputField);
                                    return false;
                                }
                            }
                        } catch (final NumberFormatException _) {
                            final String message = "The specified value is not a"
                                    + (intervalInfo.isDoubleInterval() ? "" : "n integer") + " number.";
                            showError(message, inputField);
                            return false;
                        }

                    }
                });

                textField.getDocument().addDocumentListener(new DocumentListener() {
                    //               private Popup errorPopup;

                    public void removeUpdate(final DocumentEvent _) {
                        textFieldChanged();
                    }

                    public void insertUpdate(final DocumentEvent _) {
                        textFieldChanged();
                    }

                    public void changedUpdate(final DocumentEvent _) {
                        textFieldChanged();
                    }

                    private void textFieldChanged() {
                        if (!textField.hasFocus()) {
                            hideError();
                            return;
                        }

                        try {
                            hideError();
                            final String valueStr = textField.getText().trim();
                            if (intervalInfo.isDoubleInterval()) {
                                final double value = Double.parseDouble(valueStr);
                                if (intervalInfo.isValidValue(valueStr))
                                    slider.setValue(value);
                                else
                                    showError("Please specify a value between " + intervalInfo.getIntervalMin()
                                            + " and " + intervalInfo.getIntervalMax() + ".", textField);
                            } else {
                                final long value = Long.parseLong(valueStr);
                                if (intervalInfo.isValidValue(valueStr))
                                    slider.setValue(value);
                                else
                                    showError("Please specify an integer value between "
                                            + intervalInfo.getIntervalMin() + " and "
                                            + intervalInfo.getIntervalMax() + ".", textField);
                            }
                        } catch (final NumberFormatException _) {
                            final String message = "The specified value is not a"
                                    + (intervalInfo.isDoubleInterval() ? "" : "n integer") + " number.";
                            showError(message, textField);
                        }
                    }
                });

                field.add(textField, BorderLayout.CENTER);
                field.add(slider, BorderLayout.SOUTH);
            } else {
                final Object value = oldField != null ? ((JTextField) oldField).getText()
                        : parameterInfo.getValue();
                field = new JTextField(value.toString());
                ((JTextField) field).addActionListener(new ActionListener() {

                    @Override
                    public void actionPerformed(final ActionEvent e) {
                        wizard.clickDefaultButton();
                    }
                });
            }

            final JLabel parameterLabel = new JLabel(record.fieldName);

            final String description = parameterInfo.getDescription();
            if (description != null && !description.isEmpty()) {
                parameterLabel.addMouseListener(new MouseAdapter() {

                    @Override
                    public void mouseEntered(final MouseEvent e) {
                        final DescriptionPopupFactory popupFactory = DescriptionPopupFactory.getInstance();

                        final Popup parameterDescriptionPopup = popupFactory.getPopup(parameterLabel,
                                description, dashboard.getCssStyle());

                        parameterDescriptionPopup.show();
                    }

                });
            }

            if (oldNode != null)
                userData.setSecond(field);
            else {
                final Pair<ParameterInfo, JComponent> pair = new Pair<ParameterInfo, JComponent>(parameterInfo,
                        field);
                final DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(pair);
                parentNode.add(newNode);
            }

            if (field instanceof JCheckBox) {
                parameterLabel
                        .setText("<html><div style=\"margin-bottom: 4pt; margin-top: 6pt; margin-left: 4pt\">"
                                + parameterLabel.getText() + "</div></html>");
                formBuilder.append(parameterLabel, field);

                //            appendCheckBoxFieldToPresentation(
                //               formBuilder, parameterLabel.getText(), (JCheckBox) field);
            } else {
                formBuilder.append(parameterLabel, field);
                final CellConstraints constraints = formBuilder.getLayout().getConstraints(parameterLabel);
                constraints.vAlign = CellConstraints.TOP;
                constraints.insets = new Insets(5, 0, 0, 0);
                formBuilder.getLayout().setConstraints(parameterLabel, constraints);
            }

            // prepare the parameterInfo for the param sweeps
            parameterInfo.setRuns(0);
            parameterInfo.setDefinitionType(ParameterInfo.CONST_DEF);
            parameterInfo.setValue(batchParameterInfo.getDefaultValue());
            info.add(parameterInfo);
        }
    }
    appendVerticalSpaceToPresentation(formBuilder);

    final JPanel panel = formBuilder.getPanel();
    singleRunParametersPanel.add(panel);

    if (singleRunParametersPanel.getComponentCount() > 1) {
        panel.setBorder(
                BorderFactory.createCompoundBorder(BorderFactory.createMatteBorder(0, 1, 0, 0, Color.GRAY),
                        BorderFactory.createEmptyBorder(0, 5, 0, 5)));
    } else {
        panel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5));
    }

    Style.apply(panel, dashboard.getCssStyle());

    return info;
}