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

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

Introduction

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

Prototype

public CellConstraints xyw(int col, int row, int colSpan) 

Source Link

Document

Sets the column, row, width, and height; uses a height (row span) of 1 and the horizontal and vertical default alignments.

Examples:

 cc.xyw(1, 3, 7); cc.xyw(1, 3, 2); 

Usage

From source file:fi.smaa.jsmaa.gui.views.TechnicalParameterView.java

License:Open Source License

public JComponent buildPanel() {
    FormLayout layout = new FormLayout("left:pref, 3dlu, left:pref:grow", "p, 3dlu, p, 3dlu, p");

    int fullWidth = 3;

    PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();//from   w w w .  j a  v a  2  s  .  c o  m
    CellConstraints cc = new CellConstraints();

    builder.addSeparator("Model technical parameters", cc.xyw(1, 1, fullWidth));

    builder.addLabel("Lambda interval", cc.xy(1, 3));

    Interval range = new Interval(0.5, 1.0);
    String msg = "Lambda must be within range ";

    PresentationModel<Interval> imodel = new PresentationModel<Interval>(model.getLambda());
    IntervalPanel lambdaPanel = new IntervalPanel(
            new ConstrainedIntervalValueModel(null, model.getLambda(), imodel.getModel(Interval.PROPERTY_START),
                    true, range, msg),
            new ConstrainedIntervalValueModel(null, model.getLambda(), imodel.getModel(Interval.PROPERTY_END),
                    false, range, msg));
    builder.add(lambdaPanel, cc.xy(3, 3));

    builder.addLabel("Exploitation rule", cc.xy(1, 5));
    builder.add(BasicComponentFactory.createCheckBox(
            new PresentationModel<SMAATRIModel>(model).getModel(SMAATRIModel.PROPERTY_RULE),
            "(optimistic if checked, pessimistic otherwise)"), cc.xy(3, 5));
    return builder.getPanel();
}

From source file:filterviewplugin.FilterViewSettingsTab.java

License:Open Source License

public JPanel createSettingsPanel() {
    final EnhancedPanelBuilder panelBuilder = new EnhancedPanelBuilder(FormFactory.RELATED_GAP_COLSPEC.encode()
            + ',' + FormFactory.PREF_COLSPEC.encode() + ',' + FormFactory.RELATED_GAP_COLSPEC.encode() + ','
            + FormFactory.PREF_COLSPEC.encode() + ", fill:default:grow");
    final CellConstraints cc = new CellConstraints();

    final JLabel label = new JLabel(mLocalizer.msg("daysToShow", "Days to show"));

    panelBuilder.addRow();//from  w w w  .ja v  a  2 s .  co m
    panelBuilder.add(label, cc.xy(2, panelBuilder.getRow()));

    final SpinnerNumberModel model = new SpinnerNumberModel(3, 1, 7, 1);
    mSpinner = new JSpinner(model);
    mSpinner.setValue(mSettings.getDays());
    panelBuilder.add(mSpinner, cc.xy(4, panelBuilder.getRow()));

    panelBuilder.addParagraph(mLocalizer.msg("filters", "Filters to show"));

    mFilterList = new SelectableItemList(mSettings.getActiveFilterNames(),
            FilterViewSettings.getAvailableFilterNames());
    mIcons.clear();
    for (String filterName : FilterViewSettings.getAvailableFilterNames()) {
        mIcons.put(filterName, mSettings.getFilterIconName(mSettings.getFilter(filterName)));
    }
    mFilterList.addCenterRendererComponent(String.class, new SelectableItemRendererCenterComponentIf() {
        private DefaultListCellRenderer mRenderer = new DefaultListCellRenderer();

        public void calculateSize(JList list, int index, JPanel contentPane) {
        }

        public JPanel createCenterPanel(JList list, Object value, int index, boolean isSelected,
                boolean isEnabled, JScrollPane parentScrollPane, int leftColumnWidth) {
            DefaultListCellRenderer label = (DefaultListCellRenderer) mRenderer
                    .getListCellRendererComponent(list, value, index, isSelected, false);
            String filterName = value.toString();
            String iconFileName = mIcons.get(filterName);
            Icon icon = null;
            if (!StringUtils.isEmpty(iconFileName)) {
                try {
                    icon = FilterViewPlugin.getInstance().getIcon(
                            FilterViewSettings.getIconDirectoryName() + File.separatorChar + iconFileName);
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                label.setIcon(icon);
            }
            String text = filterName;
            if (icon == null) {
                text += " (" + mLocalizer.msg("noIcon", "no icon") + ')';
            }
            label.setText(text);
            label.setHorizontalAlignment(SwingConstants.LEADING);
            label.setVerticalAlignment(SwingConstants.CENTER);
            label.setOpaque(false);

            JPanel panel = new JPanel(new BorderLayout());
            if (isSelected && isEnabled) {
                panel.setOpaque(true);
                panel.setForeground(list.getSelectionForeground());
                panel.setBackground(list.getSelectionBackground());
            } else {
                panel.setOpaque(false);
                panel.setForeground(list.getForeground());
                panel.setBackground(list.getBackground());
            }
            panel.add(label, BorderLayout.WEST);
            return panel;
        }
    });

    panelBuilder.addGrowingRow();
    panelBuilder.add(mFilterList, cc.xyw(2, panelBuilder.getRow(), panelBuilder.getColumnCount() - 1));

    panelBuilder.addRow();
    mFilterButton = new JButton(mLocalizer.msg("changeIcon", "Change icon"));
    mFilterButton.setEnabled(false);
    panelBuilder.add(mFilterButton, cc.xyw(2, panelBuilder.getRow(), 1));

    mRemoveButton = new JButton(mLocalizer.msg("deleteIcon", "Remove icon"));
    mRemoveButton.setEnabled(false);
    panelBuilder.add(mRemoveButton, cc.xyw(4, panelBuilder.getRow(), 1));

    mFilterButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            SelectableItem item = (SelectableItem) mFilterList.getSelectedValue();
            String filterName = (String) item.getItem();
            chooseIcon(filterName);
        }
    });

    mFilterList.addListSelectionListener(new ListSelectionListener() {

        public void valueChanged(ListSelectionEvent e) {
            mFilterButton.setEnabled(mFilterList.getSelectedValue() != null);
            mRemoveButton.setEnabled(mFilterButton.isEnabled());
        }
    });

    mRemoveButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            SelectableItem item = (SelectableItem) mFilterList.getSelectedValue();
            String filterName = (String) item.getItem();
            mIcons.put(filterName, "");
            mFilterList.updateUI();
        }
    });

    return panelBuilder.getPanel();
}

From source file:fr.ign.cogit.geoxygene.appli.plugin.matching.netmatcher.gui.EditParamDirectionPanel.java

License:Open Source License

/**
 * /*from www.j  a  v  a  2s.co m*/
 */
private void initPanel() {

    // "Dfinir le sens de l'axe suivant la valeur d'un attribut"
    // "Tous les axes sont en double sens"

    FormLayout layout = new FormLayout("20dlu, pref, 5dlu, pref, pref, 20dlu, pref, pref, 20dlu", // colonnes
            "10dlu, pref, 10dlu, pref, pref, pref, pref, pref, pref, pref, 40dlu"); // lignes
    CellConstraints cc = new CellConstraints();
    setLayout(layout);

    // Line 1 : titles
    add(new JLabel("Reseau 1"), cc.xy(5, 2));
    add(new JLabel("Reseau 2"), cc.xy(8, 2));

    // Line 2 : double sens
    add(rbDoubleSensArcReseau1, cc.xyw(4, 4, 3));
    add(rbDoubleSensArcReseau2, cc.xyw(7, 4, 3));

    // Line 3
    add(rbSimpleSensArcReseau1, cc.xyw(4, 5, 3));
    add(rbSimpleSensArcReseau2, cc.xyw(7, 5, 3));

    // Line 4 : simple sens
    add(new JLabel("Nom de l'attribut : "), cc.xy(2, 6));
    add(fieldAttributeReseau1, cc.xy(5, 6));
    add(fieldAttributeReseau2, cc.xy(8, 6));

    add(new JLabel("Valeur de l'attribut pour 'Sens direct' : "), cc.xy(2, 7));
    add(fieldValueDirectReseau1, cc.xy(5, 7));
    add(fieldValueDirectReseau2, cc.xy(8, 7));

    add(new JLabel("Valeur de l'attribut pour 'Sens inverse' : "), cc.xy(2, 8));
    add(fieldValueInverseReseau1, cc.xy(5, 8));
    add(fieldValueInverseReseau2, cc.xy(8, 8));

    add(new JLabel("Valeur de l'attribut pour 'Double sens' : "), cc.xy(2, 9));
    add(fieldValueDoubleSensReseau1, cc.xy(5, 9));
    add(fieldValueDoubleSensReseau2, cc.xy(8, 9));

}

From source file:fr.ign.cogit.geoxygene.appli.plugin.osm.OSMHttpLoaderPlugin.java

License:Open Source License

private void initParamPanel() {

    paramPanel = new JPanel();

    FormLayout layout = new FormLayout("40dlu, pref, pref, 40dlu",
            "20dlu, pref, 10dlu, pref, 4dlu, pref, 4dlu, pref, 40dlu");
    paramPanel.setLayout(layout);// ww w .j a v  a 2 s  .com
    CellConstraints cc = new CellConstraints();

    withProxy = new JCheckBox();
    withProxy.setSelected(false);
    paramPanel.add(withProxy, cc.xy(2, 2));
    paramPanel.add(new JLabel("Proxy IGN"), cc.xy(3, 2));

    paramPanel.add(new JLabel("Paramtres de la requte : "), cc.xy(3, 4));

    textParam = new JTextArea();
    textParam.setText(this.dataRequest); // "area[name=\"Hoogstade\"];(node(area);<;);out meta qt;"
    textParam.setColumns(40);
    textParam.setRows(8);
    // textParam.setEnabled(false);
    paramPanel.add(textParam, cc.xy(3, 6));

    JLabel avert = new JLabel(" ! Attention la requte peut tre un peu longue ...");
    avert.setFont(new Font("Serif", Font.ITALIC | Font.BOLD, 12));
    paramPanel.add(avert, cc.xyw(2, 8, 2));
}

From source file:genreplugin.GenreSettingsTab.java

License:Open Source License

public JPanel createSettingsPanel() {
    final EnhancedPanelBuilder panelBuilder = new EnhancedPanelBuilder(FormFactory.RELATED_GAP_COLSPEC.encode()
            + "," + FormFactory.PREF_COLSPEC.encode() + "," + FormFactory.RELATED_GAP_COLSPEC.encode() + ","
            + FormFactory.PREF_COLSPEC.encode() + ", fill:default:grow");
    final CellConstraints cc = new CellConstraints();

    final JLabel label = new JLabel(mLocalizer.msg("daysToShow", "Days to show"));

    panelBuilder.addRow();/*from   w  w w .  java  2s . c o  m*/
    panelBuilder.add(label, cc.xy(2, panelBuilder.getRow()));

    final SpinnerNumberModel model = new SpinnerNumberModel(7, 1, 28, 1);
    mSpinner = new JSpinner(model);
    mSpinner.setValue(mSettings.getDays());
    panelBuilder.add(mSpinner, cc.xy(4, panelBuilder.getRow()));

    mUnifyBraces = new JCheckBox(mLocalizer.msg("unifyBracedGenres", "Unify genres with sub genres in braces"),
            mSettings.getUnifyBraceGenres());
    panelBuilder.addRow();
    panelBuilder.add(mUnifyBraces, cc.xy(2, panelBuilder.getRow()));

    panelBuilder.addParagraph(mLocalizer.msg("filteredGenres", "Filtered genres"));

    mFilteredGenres = new JList(mListModel);
    mFilteredGenres.setSelectedIndex(0);
    mFilteredGenres.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    mFilteredGenres.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(final ListSelectionEvent e) {
            listSelectionChanged();
        }
    });

    panelBuilder.addGrowingRow();
    panelBuilder.add(new JScrollPane(mFilteredGenres),
            cc.xyw(2, panelBuilder.getRow(), panelBuilder.getColumnCount() - 1));

    mAddFilter = new JButton(mLocalizer.msg("addFilterBtn", "Add filter"));
    mAddFilter.addActionListener(new ActionListener() {

        public void actionPerformed(final ActionEvent e) {
            String genre = JOptionPane
                    .showInputDialog(mLocalizer.msg("addFilterMessage", "Add genre to be filtered"), "");
            if (genre != null) {
                genre = genre.trim();
                if (genre.length() > 0) {
                    mListModel.addElement(genre);
                }
            }
        }
    });

    mRemoveFilter = new JButton(mLocalizer.msg("removeFilterBtn", "Remove filter"));
    mRemoveFilter.addActionListener(new ActionListener() {

        public void actionPerformed(final ActionEvent e) {
            final int index = mFilteredGenres.getSelectedIndex();
            if (index >= 0) {
                mListModel.remove(index);
            }
        }
    });

    panelBuilder.addRow();
    ButtonBarBuilder2 buttonBar = new ButtonBarBuilder2();
    buttonBar.addButton(new JButton[] { mAddFilter, mRemoveFilter });
    panelBuilder.add(buttonBar.getPanel(), cc.xyw(2, panelBuilder.getRow(), panelBuilder.getColumnCount() - 1));

    mFilteredGenres.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(final ListSelectionEvent e) {
            mRemoveFilter.setEnabled(mFilteredGenres.getSelectedIndex() >= 0);
        }
    });

    // force update of enabled states
    listSelectionChanged();

    return panelBuilder.getPanel();
}

From source file:golemplugin.GolemSettingsTab.java

License:Open Source License

public JPanel createSettingsPanel() {
    final FormLayout layout = new FormLayout("3dlu, pref, 3dlu, fill:min:grow, 3dlu, pref, 3dlu");
    final CellConstraints cc = new CellConstraints();

    final JPanel panel = new JPanel(layout);

    int line = 2;

    layout.appendRow(RowSpec.decode("3dlu"));
    layout.appendRow(RowSpec.decode("pref"));
    layout.appendRow(RowSpec.decode("3dlu"));

    markPrograms = new JCheckBox(mLocalizer.msg("markItems", "Mark programs that are mentioned by Golem.de"));
    markPrograms.setSelected(GolemPlugin.getInstance().getSettings().isMarkEnabled());
    markPrograms.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent e) {
            markPriority.setEnabled(markPrograms.isSelected());
        }// w w w .  ja va  2  s.  c o m
    });
    panel.add(markPrograms, cc.xyw(2, line, 4));

    line += 2;
    layout.appendRow(RowSpec.decode("pref"));
    layout.appendRow(RowSpec.decode("3dlu"));

    markPriority = DefaultMarkingPrioritySelectionPanel.createPanel(
            GolemPlugin.getInstance().getSettings().getMarkPriority(),
            mLocalizer.msg("markPriority", "Mark programs with:"), false, false, false);
    panel.add(markPriority, cc.xyw(2, line, 4));

    markPriority.setEnabled(GolemPlugin.getInstance().getSettings().isMarkEnabled());

    layout.appendRow(RowSpec.decode("pref"));
    layout.appendRow(RowSpec.decode("6dlu"));
    line += 2;

    clientPluginTargets = GolemPlugin.getInstance().getSettings().getReceiveTargets();

    final JButton choose = new JButton(mLocalizer.msg("selectPlugins", "Choose Plugins"));
    choose.addActionListener(new ActionListener() {
        public void actionPerformed(final ActionEvent e) {
            try {
                final Window w = UiUtilities.getLastModalChildOf(MainFrame.getInstance());
                PluginChooserDlg chooser = null;
                chooser = new PluginChooserDlg(w, clientPluginTargets, null, GolemPlugin.getInstance());
                chooser.setVisible(true);

                if (chooser.getReceiveTargets() != null) {
                    clientPluginTargets = chooser.getReceiveTargets();
                }

                handlePluginSelection();
            } catch (Exception ee) {
                ee.printStackTrace();
            }
        }
    });

    pluginLabel = new JLabel();
    handlePluginSelection();

    panel.add(new JLabel(mLocalizer.msg("exportTitle", "Export to Plugin(s):")), cc.xy(2, line));
    panel.add(pluginLabel, cc.xy(4, line));
    panel.add(choose, cc.xy(6, line));

    layout.appendRow(RowSpec.decode("pref"));
    layout.appendRow(RowSpec.decode("6dlu"));
    line += 2;

    JButton button = new JButton(mLocalizer.msg("update", "Update now"));
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    GolemUpdater.getInstance().update();
                }
            });
        }
    });

    panel.add(button, cc.xy(2, line));

    return panel;
}

From source file:growlplugin.GrowlSettingsTab.java

License:Open Source License

/**
 * Create the GUI/*from  www  .  ja va  2s . c  o m*/
 * @return Panel
 */
public JPanel createSettingsPanel() {
    final EnhancedPanelBuilder panel = new EnhancedPanelBuilder(
            FormFactory.RELATED_GAP_COLSPEC.encode() + "," + FormFactory.PREF_COLSPEC.encode() + ","
                    + FormFactory.RELATED_GAP_COLSPEC.encode() + ",pref:grow");
    final CellConstraints cc = new CellConstraints();

    panel.addRow();
    panel.add(UiUtilities.createHelpTextArea(mLocalizer.msg("help", "Help Text")),
            cc.xyw(2, panel.getRow(), 3));

    panel.addParagraph(mLocalizer.msg("title", "Title"));

    mTitle = new ParamInputField(mSettings.getTitle());

    panel.addRow();
    panel.add(mTitle, cc.xyw(2, panel.getRow(), 3));

    panel.addParagraph(mLocalizer.msg("description", "Description"));

    mDescription = new ParamInputField(mSettings.getDescription());

    panel.addGrowingRow();
    panel.add(mDescription, cc.xyw(2, panel.getRow(), 3));

    final JButton testGrowl = new JButton(mLocalizer.msg("testGrowl", "Test Growl"));
    testGrowl.addActionListener(new ActionListener() {

        public void actionPerformed(final ActionEvent e) {
            final GrowlSettings testSettings = new GrowlSettings(null);
            testSettings.setTitle(mTitle.getText());
            testSettings.setDescription(mDescription.getText());
            mGrowlPlugin.getContainer().notifyGrowl(testSettings,
                    Plugin.getPluginManager().getExampleProgram());
        }

    });

    panel.addParagraph(mLocalizer.msg("testGrowl", "Test Growl"));
    panel.addRow();
    panel.add(testGrowl, cc.xy(2, panel.getRowCount()));

    return panel.getPanel();
}

From source file:gui.AuditLogRecord.java

License:Open Source License

/**
 * nueva instancia//from   w  w  w. j a  va 2s. c o m
 * 
 * @param rcd - registro
 */
public AuditLogRecord(Record rcd) {
    super("title_displayarecord", rcd, false);
    setVisibleMessagePanel(false);
    // informacion basica
    addInputComponent("t_altable_name", new JLabel((String) rcd.getFieldValue("t_altable_name")), false, true);
    addInputComponent("t_alaudit_track", new JLabel((rcd.getFieldValue("t_alaudit_track")).toString()), false,
            true);
    String dt = datiF.format((Date) rcd.getFieldValue("t_aldate_time"));
    addInputComponent("t_aldate_time", new JLabel(dt), false, true);

    Record rdta = DataBaseUtilities.getFromSerializedForm((String) rcd.getFieldValue("t_alrecord"));

    Vector vc = new Vector(2);
    vc.add("Field");
    vc.add("Value");
    Vector vr = new Vector();
    for (int i = 0; i < rdta.getFieldCount(); i++) {
        String fv = rdta.getFieldValue(i).toString();
        Vector rd = new Vector(2);
        rd.add(TStringUtils.getBundleString(rdta.getFieldName(i)));
        rd.add(fv);
        vr.add(rd);
        // determina si es direccion
        /*
         * if (fv.startsWith("Address")) { Record radd =
         * DataBaseUtilities.getFromSerializedForm(fv); fv =
         * ResourceUtilities.formatAddress(radd); }
         */

    }
    JTable jt = new JTable(vr, vc);
    TUIUtils.fixTableColumn(jt, new int[] { 170, 300 });
    jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    jt.setEnabled(false);

    FormLayout lay = new FormLayout("left:pref, 3dlu, pref, 7dlu, left:pref, 3dlu, 200dlu", // columns
            "p, 3dlu, p, 3dlu, p, 3dlu, p, 150dlu"); // rows
    CellConstraints cc = new CellConstraints();
    PanelBuilder build = new PanelBuilder(lay);

    build.add(getLabelFor("t_altable_name"), cc.xy(1, 1));
    build.add(getInputComponent("t_altable_name"), cc.xy(3, 1));
    build.add(getLabelFor("t_alaudit_track"), cc.xy(1, 3));
    build.add(getInputComponent("t_alaudit_track"), cc.xy(3, 3));
    build.add(getLabelFor("t_aldate_time"), cc.xy(1, 5));
    build.add(getInputComponent("t_aldate_time"), cc.xyw(3, 5, 5));
    build.add(TUIUtils.getJLabel("t_alrecord", false, true), cc.xy(1, 7));
    build.add(new JScrollPane(jt), cc.xyw(1, 8, 7));

    setDefaultActionBar();
    add(build.getPanel());
    preValidate(null);
}

From source file:gui.ChangePassword.java

License:Open Source License

/**
 * nueva instancia/*from   ww  w.j a v a 2s.com*/
 * 
 * @param rcd - registro de usuario actualmente en sesion
 */
public ChangePassword(Record rcd) {
    super("security.title08", rcd, false);
    this.usrRcd = rcd;
    this.passlen = (Integer) rcd.getFieldValue("t_uspass_mlen");
    this.oldPass = (String) rcd.getFieldValue("t_uspassword");
    rcd.setFieldValue("t_uspassword", "");
    this.oldPassJP = TUIUtils.getJPasswordField(rcd, "t_uspassword");
    addInputComponent("t_uspassword", oldPassJP, true, true);
    this.newPassJP = TUIUtils.getJPasswordField("ttchgpass.new", "", 10);
    addInputComponent("chgpass.new", newPassJP, true, true);
    this.confPassJP = TUIUtils.getJPasswordField("ttchgpass.verify", "", 10);
    confPassJP.getDocument().addDocumentListener(this);

    this.progressBar = new JProgressBar(0, passlen);

    FormLayout lay = new FormLayout("left:pref, 40dlu, left:pref", "p, 3dlu, p, 3dlu, p, 15dlu, p, p, ");// rows
    CellConstraints cc = new CellConstraints();
    PanelBuilder build = new PanelBuilder(lay);

    build.add(getLabelFor("t_uspassword"), cc.xy(1, 1));
    build.add(getInputComponent("t_uspassword"), cc.xy(3, 1));
    build.add(getLabelFor("chgpass.new"), cc.xy(1, 3));
    build.add(newPassJP, cc.xy(3, 3));
    build.add(TUIUtils.getJLabel("chgpass.verify", true, true), cc.xy(1, 5));
    build.add(confPassJP, cc.xy(3, 5));
    build.add(TUIUtils.getJLabel("chgpass.strong", false, true), cc.xy(1, 7));
    build.add(progressBar, cc.xyw(1, 8, 3));

    setDefaultActionBar();
    add(build.getPanel());

    preValidate(null);
}

From source file:gui.datasource.TConnectionsRecord.java

License:Open Source License

public TConnectionsRecord(Record rcd, boolean newr) {
    super(null, rcd, newr);
    setVisibleMessagePanel(false);/*  w  w  w  .j a  va2 s . c o m*/

    // drivers
    ServiceRequest sr = new ServiceRequest(ServiceRequest.DB_QUERY, "t_drivers", null);
    RecordSelector rs = new RecordSelector(sr, "t_drclass", "t_drname", rcd.getFieldValue("t_cndriver"));

    this.propertyJTable = new TPropertyJTable((String) rcd.getFieldValue("t_cnextended_prp"));

    addInputComponent("t_cnname", TUIUtils.getJTextField(rcd, "t_cnname"), true, true);
    addInputComponent("t_cndriver", rs, false, true);
    addInputComponent("t_cnurl", TUIUtils.getJTextField(rcd, "t_cnurl"), true, true);
    addInputComponent("t_cnuser", TUIUtils.getJTextField(rcd, "t_cnuser"), false, true);
    addInputComponent("t_cnpassword", TUIUtils.getJTextField(rcd, "t_cnpassword"), false, true);

    FormLayout lay = new FormLayout("left:pref, 200dlu", // columns
            "p, p, 3dlu, p, p, 3dlu, p, p, 3dlu, p, p, 3dlu, p, p, 3dlu, p, 100dlu"); // rows
    CellConstraints cc = new CellConstraints();
    PanelBuilder build = new PanelBuilder(lay);

    build.add(getLabelFor("t_cnname"), cc.xy(1, 1));
    build.add(getInputComponent("t_cnname"), cc.xyw(1, 2, 2));
    build.add(getLabelFor("t_cndriver"), cc.xy(1, 4));
    build.add(getInputComponent("t_cndriver"), cc.xyw(1, 5, 2));
    build.add(getLabelFor("t_cnurl"), cc.xy(1, 7));
    build.add(getInputComponent("t_cnurl"), cc.xyw(1, 8, 2));
    build.add(getLabelFor("t_cnuser"), cc.xy(1, 10));
    build.add(getInputComponent("t_cnuser"), cc.xyw(1, 11, 2));
    build.add(getLabelFor("t_cnpassword"), cc.xy(1, 13));
    build.add(getInputComponent("t_cnpassword"), cc.xyw(1, 14, 2));
    build.add(TUIUtils.getJLabel("t_cnextended_prp", false, true), cc.xy(1, 16));
    JScrollPane js = new JScrollPane(propertyJTable);
    js.getViewport().setBackground(Color.WHITE);
    build.add(js, cc.xyw(1, 17, 2));

    setActionBar(new ApplyAction(this));
    addWithoutBorder(build.getPanel());
    preValidate(null);
}