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:captureplugin.drivers.dreambox.DreamboxConfigDialog.java

License:Open Source License

/**
 * Create the GUI//from  w w w.j  av  a 2 s  .co  m
 */
private void createGui() {
    setTitle(mLocalizer.msg("title", "Configure Dreambox"));

    UiUtilities.registerForClosing(this);

    EnhancedPanelBuilder basicPanel = new EnhancedPanelBuilder(
            "2dlu, pref, 3dlu, fill:min:grow, 3dlu, pref, 3dlu, pref");
    basicPanel.setBorder(Borders.DLU4_BORDER);

    CellConstraints cc = new CellConstraints();

    basicPanel.addParagraph(mLocalizer.msg("misc", "Miscellaneous"));

    basicPanel.addRow();
    basicPanel.add(new JLabel(mLocalizer.msg("name", "Name:")), cc.xy(2, basicPanel.getRow()));
    mDeviceName = new JTextField(mDevice.getName());
    basicPanel.add(mDeviceName, cc.xy(4, basicPanel.getRow()));

    basicPanel.addRow();
    basicPanel.add(new JLabel(mLocalizer.msg("softwareVersion", "SoftwareVersion:")),
            cc.xy(2, basicPanel.getRow()));

    String[] values = { mLocalizer.msg("lowerVersion", "lower than 1.6 (< 1.6)"),
            mLocalizer.msg("higherVersion", "at least 1.6 (>= 1.6)") };

    mSoftwareSelection = new JComboBox(values);
    mSoftwareSelection.setSelectedIndex(mConfig.getIsVersionAtLeast_1_6() ? 1 : 0);

    basicPanel.add(mSoftwareSelection, cc.xy(4, basicPanel.getRow()));

    basicPanel.addRow();
    basicPanel.add(new JLabel(mLocalizer.msg("ipaddress", "IP address")), cc.xy(2, basicPanel.getRow()));
    mDreamboxAddress = new JTextField(mConfig.getDreamboxAddress());
    basicPanel.add(mDreamboxAddress, cc.xy(4, basicPanel.getRow()));

    JButton help = new JButton(CapturePlugin.getInstance().createImageIcon("apps", "help-browser", 16));
    help.setToolTipText(Localizer.getLocalization(Localizer.I18N_HELP));
    help.setOpaque(false);
    help.setBorder(Borders.EMPTY_BORDER);
    basicPanel.add(help, cc.xy(8, basicPanel.getRow()));

    ButtonBarBuilder2 refresh = new ButtonBarBuilder2();

    refresh.addGlue();

    mRefreshButton = new JButton(mLocalizer.msg("refresh", "Refresh channellist"));
    mRefreshButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            refreshChannelList();
        }
    });
    mRefreshButton.setIcon(TVBrowserIcons.refresh(TVBrowserIcons.SIZE_SMALL));
    mRefreshButton.setEnabled(mConfig.hasValidAddress());

    mDreamboxAddress.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void removeUpdate(DocumentEvent e) {
            check(e);
        }

        @Override
        public void insertUpdate(DocumentEvent e) {
            check(e);
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            check(e);
        }

        private void check(DocumentEvent e) {
            mRefreshButton.setEnabled(!mDreamboxAddress.getText().trim().isEmpty());
        }
    });

    refresh.addButton(new JButton[] { mRefreshButton });

    basicPanel.addRow();
    basicPanel.add(refresh.getPanel(), cc.xy(4, basicPanel.getRow()));

    basicPanel.addRow();
    basicPanel.add(new JLabel(mLocalizer.msg("preTime", "Time before in minutes:")),
            cc.xy(2, basicPanel.getRow()));

    mBeforeModel = new SpinnerNumberModel(mConfig.getPreTime(), 0, 60, 1);
    JSpinner beforeSpinner = new JSpinner(mBeforeModel);
    basicPanel.add(beforeSpinner, cc.xy(4, basicPanel.getRow()));

    basicPanel.addRow();
    basicPanel.add(new JLabel(mLocalizer.msg("afterTime", "Time after in minutes:")),
            cc.xy(2, basicPanel.getRow()));

    mAfterModel = new SpinnerNumberModel(mConfig.getAfterTime(), 0, 60, 1);
    JSpinner afterSpinner = new JSpinner(mAfterModel);
    basicPanel.add(afterSpinner, cc.xy(4, basicPanel.getRow()));

    basicPanel.addParagraph(mLocalizer.msg("channel", "Channel assignment"));

    mTable = new JTable(new ConfigTableModel(mConfig, mLocalizer.msg("dreambox", "Dreambox Channel")));
    mTable.getTableHeader().setReorderingAllowed(false);
    mTable.getColumnModel().getColumn(0).setCellRenderer(new util.ui.ChannelTableCellRenderer());
    mTable.getColumnModel().getColumn(1).setCellRenderer(new ExternalChannelTableCellRenderer());
    mTable.getColumnModel().getColumn(1).setCellEditor(new ExternalChannelTableCellEditor(mConfig));

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

    ButtonBarBuilder2 builder = new ButtonBarBuilder2();

    builder.addGlue();

    JButton attach = new JButton(mLocalizer.msg("attach", "Attach"));
    attach.setToolTipText(mLocalizer.msg("attachHelp", "Attach channels"));
    attach.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            attachChannels();
        }
    });

    builder.addButton(attach);

    basicPanel.addRow();
    basicPanel.add(builder.getPanel(), cc.xyw(2, basicPanel.getRow(), basicPanel.getColumnCount() - 1));

    final EnhancedPanelBuilder extendedPanel = new EnhancedPanelBuilder(
            "2dlu, pref, 3dlu, fill:pref:grow, 3dlu, pref, 5dlu");
    extendedPanel.setBorder(Borders.DLU4_BORDER);

    extendedPanel.addParagraph(mLocalizer.msg("misc", "Miscellanious"));

    extendedPanel.addRow();
    extendedPanel.add(new JLabel(mLocalizer.msg("Timeout", "Timeout for connections in ms:")),
            cc.xy(2, extendedPanel.getRow()));

    mTimeoutModel = new SpinnerNumberModel(mConfig.getTimeout(), 0, 100000, 10);
    JSpinner timeoutSpinner = new JSpinner(mTimeoutModel);
    extendedPanel.add(timeoutSpinner, cc.xyw(4, extendedPanel.getRow(), 3));

    extendedPanel.addParagraph(mLocalizer.msg("timeZoneSeparator", "Time zone"));

    extendedPanel.addRow();
    extendedPanel.add(new JLabel(mLocalizer.msg("timeZone", "Time zone:")), cc.xy(2, extendedPanel.getRow()));

    String[] zoneIds = new String[0];
    try {
        zoneIds = TimeZone.getAvailableIDs();
    } catch (Exception e) {
        e.printStackTrace();
    }
    Arrays.sort(zoneIds);
    mTimezone = new JComboBox(zoneIds);

    String zone = mConfig.getTimeZoneAsString();
    for (int i = 0; i < zoneIds.length; i++) {
        if (zoneIds[i].equals(zone)) {
            mTimezone.setSelectedIndex(i);
            break;
        }
    }

    extendedPanel.add(mTimezone, cc.xyw(4, extendedPanel.getRow(), 3));

    extendedPanel.addParagraph(mLocalizer.msg("security", "Security"));

    extendedPanel.addRow();
    extendedPanel.add(new JLabel(mLocalizer.msg("userName", "User name :")), cc.xy(2, extendedPanel.getRow()));
    mUserName = new JTextField(mConfig.getUserName());
    extendedPanel.add(mUserName, cc.xyw(4, extendedPanel.getRow(), 3));

    extendedPanel.addRow();
    extendedPanel.add(new JLabel(mLocalizer.msg("password", "Password :")), cc.xy(2, extendedPanel.getRow()));
    mPasswordField = new JPasswordField(mConfig.getPassword());
    extendedPanel.add(mPasswordField, cc.xyw(4, extendedPanel.getRow(), 3));

    extendedPanel.addParagraph(mLocalizer.msg("streaming", "Streaming"));

    extendedPanel.addRow();
    extendedPanel.add(new JLabel(mLocalizer.msg("mediaplayer", "Mediaplayer :")),
            cc.xy(2, extendedPanel.getRow()));
    mMediaplayer = new JTextField(mConfig.getMediaplayer());
    extendedPanel.add(mMediaplayer, cc.xy(4, extendedPanel.getRow()));

    JButton select = new JButton(Localizer.getLocalization(Localizer.I18N_SELECT));
    select.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JFileChooser mediaplayerChooser = new JFileChooser();
            int returnVal = mediaplayerChooser.showOpenDialog(extendedPanel.getPanel());
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                mMediaplayer.setText(mediaplayerChooser.getSelectedFile().getAbsolutePath());
            }
        }
    });
    extendedPanel.add(select, cc.xy(6, extendedPanel.getRow()));

    mProgramReceiveTargetSelection = new ProgramReceiveTargetSelectionPanel(
            UiUtilities.getLastModalChildOf(CapturePlugin.getInstance().getSuperFrame()),
            mConfig.getProgramReceiveTargets(), null, CapturePlugin.getInstance(), true,
            mLocalizer.msg("sendToTitle", "Send scheduled programs to:"));

    extendedPanel.addRow();
    extendedPanel.addRow();
    extendedPanel.add(mProgramReceiveTargetSelection, cc.xyw(1, extendedPanel.getRow(), 7));

    builder = new ButtonBarBuilder2();

    JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK));
    ok.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            okPressed();
        }
    });

    JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));
    cancel.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            close();
        }
    });

    builder.addGlue();
    builder.addButton(new JButton[] { ok, cancel });

    getRootPane().setDefaultButton(ok);

    JTabbedPane tabs = new JTabbedPane();
    tabs.add(mLocalizer.msg("basicTitle", "Basic settings"), basicPanel.getPanel());
    tabs.add(mLocalizer.msg("extendedTitle", "Extended settings"), extendedPanel.getPanel());

    JPanel content = (JPanel) getContentPane();
    content.setBorder(Borders.DLU4_BORDER);
    content.setLayout(new FormLayout("fill:pref:grow", "fill:pref:grow, 3dlu, pref"));
    content.add(tabs, cc.xy(1, 1));
    content.add(builder.getPanel(), cc.xy(1, 3));

    pack();
}

From source file:captureplugin.drivers.simpledevice.SimpleConfigDialog.java

License:Open Source License

/**
 * Create the Gui/*from  w  ww  .j  av a  2  s.  co  m*/
 */
private void createGui() {
    JPanel panel = (JPanel) getContentPane();

    setTitle(mLocalizer.msg("title", "Device Settings"));

    panel.setLayout(new FormLayout("3dlu, pref, 3dlu, fill:pref:grow, 3dlu, pref, 3dlu",
            "pref, 5dlu, pref, 3dlu, pref, 5dlu, fill:min:grow, 3dlu, pref, 3dlu, pref"));
    panel.setBorder(Borders.DIALOG_BORDER);

    CellConstraints cc = new CellConstraints();

    panel.add(
            DefaultComponentFactory.getInstance().createSeparator(mLocalizer.msg("deviceName", "Device name")),
            cc.xyw(1, 1, 7));

    panel.add(new JLabel(mLocalizer.msg("deviceNameInput", "Name") + ":"), cc.xy(2, 3));
    mName = new JTextField(mDevice.getName());
    panel.add(mName, cc.xyw(4, 3, 3));

    panel.add(DefaultComponentFactory.getInstance()
            .createSeparator(mLocalizer.msg("channelAssignment", "Channel assignment")), cc.xyw(1, 5, 7));

    mTable = new JTable(new ConfigTableModel(mConfig, mLocalizer.msg("external", "external")));
    mTable.getTableHeader().setReorderingAllowed(false);
    mTable.getColumnModel().getColumn(0).setCellRenderer(new ChannelTableCellRenderer());
    mTable.getColumnModel().getColumn(1).setCellRenderer(new ExternalChannelTableCellRenderer());
    mTable.getColumnModel().getColumn(1).setCellEditor(new ExternalChannelTableCellEditor(mConfig));
    panel.add(new JScrollPane(mTable), cc.xyw(2, 7, 5));

    JButton fetch = new JButton(mLocalizer.msg("fetchChannels", "Fetch Channellist"));

    fetch.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    SimpleChannel[] lists = mConnection.getAvailableChannels();

                    if (lists == null) {
                        JOptionPane.showMessageDialog(SimpleConfigDialog.this,
                                mLocalizer.msg("errorChannels", "Could not load external channels"),
                                mLocalizer.msg("errorTitle", "Error"), JOptionPane.ERROR_MESSAGE);
                    } else {
                        mConfig.setExternalChannels(lists);
                    }

                    mTable.repaint();
                }
            });
        }
    });

    panel.add(fetch, cc.xy(6, 9));

    ButtonBarBuilder2 builder = new ButtonBarBuilder2();
    builder.addGlue();

    JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK));
    ok.addActionListener(new ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent e) {
            if (mTable.isEditing()) {
                TableCellEditor editor = mTable.getCellEditor();
                if (editor != null) {
                    editor.stopCellEditing();
                }
            }
            mReturn = JOptionPane.OK_OPTION;
            setVisible(false);
        }
    });

    JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));
    cancel.addActionListener(new ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent e) {
            setVisible(false);
        }
    });

    builder.addButton(new JButton[] { ok, cancel });

    panel.add(builder.getPanel(), cc.xyw(1, 11, 7));

    getRootPane().setDefaultButton(ok);
    UiUtilities.registerForClosing(this);

    setSize(Sizes.dialogUnitXAsPixel(250, this), Sizes.dialogUnitXAsPixel(200, this));
}

From source file:captureplugin.drivers.utils.ProgramTimeDialog.java

License:Open Source License

/**
 * Create the GUI//from   ww  w . j a v a 2  s  .  c o  m
 * @param titleEditable is the Title editable ?
 */
private void createGui(final boolean titleEditable, final String additionalText,
        final JComponent additionalComponent) {
    /* calculate the post time for selection with program selection panel */
    Calendar programEnd = mPrgTime.getProgram().getDate().getCalendar();

    programEnd.set(Calendar.HOUR_OF_DAY, mPrgTime.getProgram().getHours());
    programEnd.set(Calendar.MINUTE, mPrgTime.getProgram().getMinutes());

    if (mPrgTime.getProgram().getLength() <= 0) {
        programEnd.add(Calendar.MINUTE, 1);
    } else {
        programEnd.add(Calendar.MINUTE, mPrgTime.getProgram().getLength());
    }
    programEnd.set(Calendar.SECOND, 0);

    final int postTime = (int) ((mPrgTime.getEndAsCalendar().getTimeInMillis() - programEnd.getTimeInMillis()
            + 1000) / 60000);

    setTitle(mLocalizer.msg("SetTime", "Set Time"));

    JPanel content = (JPanel) getContentPane();
    content.setBorder(Borders.DIALOG_BORDER);
    content.setLayout(new BorderLayout());

    EnhancedPanelBuilder panel = new EnhancedPanelBuilder("2dlu,default,5dlu,default:grow");

    CellConstraints cc = new CellConstraints();

    if (titleEditable) {
        panel.addParagraph(mLocalizer.msg("Title", "Title"));
        mTitle = new JTextField(mPrgTime.getTitle());

        panel.addRow();
        panel.add(mTitle, cc.xyw(2, panel.getRow(), panel.getColumnCount() - 1));
    }

    panel.addParagraph(mLocalizer.msg("Times", "Times"));
    panel.addRow();
    panel.add(new JLabel(mLocalizer.msg("StartTime", "Start time")), cc.xy(2, panel.getRow()));
    mStart = new TimeDateSpinner(mPrgTime.getStart());
    panel.add(mStart, cc.xy(4, panel.getRow()));

    panel.addRow();
    panel.add(new JLabel(mLocalizer.msg("EndTime", "End time")), cc.xy(2, panel.getRow()));
    mEnd = new TimeDateSpinner(mPrgTime.getEnd());
    panel.add(mEnd, cc.xy(4, panel.getRow()));

    if (mPrgTime.getProgram().getLength() <= 0) {
        mEnd.setSpinnerBackground(new Color(255, 153, 153));
    }

    if (additionalText != null) {
        panel.addParagraph(additionalText);
        panel.addRow();
        panel.add(additionalComponent, cc.xyw(2, panel.getRow(), panel.getColumnCount() - 1));
    }

    final ProgramRangeSelectionPanel programSelection = ProgramRangeSelectionPanel
            .createPanel(mPrgTime.getProgram(), (short) 6);

    panel.addParagraph(mLocalizer.msg("programSelection", "Program selection"));
    panel.addRow();
    panel.add(programSelection, cc.xyw(2, panel.getRow(), panel.getColumnCount() - 1));

    programSelection.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                /* prevent concurrent changing of end date */
                if (!mEndDateChanging) {
                    mProgramSelectionChanging = true;

                    Program[] progs = ((ProgramList) e.getSource()).getSelectedPrograms();

                    if (progs != null) {
                        Program prog = progs[progs.length - 1];

                        Calendar c = Calendar.getInstance();

                        c.setTimeInMillis(prog.getDate().getCalendar().getTimeInMillis());
                        c.set(Calendar.HOUR_OF_DAY, prog.getHours());
                        c.set(Calendar.MINUTE, prog.getMinutes());

                        if (prog.getLength() <= 0) {
                            c.add(Calendar.MINUTE, 1);
                        } else {
                            c.add(Calendar.MINUTE, prog.getLength());
                        }
                        c.set(Calendar.SECOND, 0);

                        c.add(Calendar.MINUTE, postTime);

                        mEnd.setValue(c.getTime());
                        mProgramSelectionChanging = false;
                    }
                }
            }
        }
    });

    mEnd.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent e) {
            try {
                /* prevent concurrent changing of end date */
                if (!mProgramSelectionChanging) {
                    mEndDateChanging = true;
                    programSelection.setEndDate(mEnd.getDate());
                    mEndDateChanging = false;
                }
            } catch (Throwable t) {
                t.printStackTrace();
            }
        }
    });

    content.add(panel.getPanel(), BorderLayout.CENTER);

    ButtonBarBuilder2 btPanel = new ButtonBarBuilder2();
    btPanel.setBorder(Borders.DLU4_BORDER);

    JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK));
    ok.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            mPrgTime.setStart(mStart.getDate());
            mPrgTime.setEnd(mEnd.getDate());
            if (titleEditable) {
                mPrgTime.setTitle(mTitle.getText());
            }
            setVisible(false);
        }
    });

    btPanel.addGlue();

    JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));

    cancel.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            mPrgTime = null;
            setVisible(false);
        }
    });

    btPanel.addButton(ok, cancel);

    getRootPane().setDefaultButton(ok);

    addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            mPrgTime = null;
        }
    });

    content.add(btPanel.getPanel(), BorderLayout.SOUTH);

    CapturePlugin.getInstance().layoutWindow("programTimeDialog", this, new Dimension(300, 270));
}

From source file:ch.fork.AdHocRailway.ui.locomotives.configuration.LocomotiveConfig.java

License:Open Source License

private void buildPanel() {
    initComponents();/* ww w.  j  av  a  2  s .c o m*/

    final FormLayout layout = new FormLayout("right:pref, 3dlu, pref:grow, 30dlu, right:pref, 3dlu, pref:grow",
            "p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow");
    layout.setColumnGroups(new int[][] { { 1, 5 }, { 3, 7 } });
    layout.setRowGroups(new int[][] { { 3, 5, 7, 9 } });

    final PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();
    final CellConstraints cc = new CellConstraints();

    builder.addSeparator("General", cc.xyw(1, 1, 3));

    builder.addLabel("Name", cc.xy(1, 3));
    builder.add(nameTextField, cc.xy(3, 3));

    builder.addLabel("Description", cc.xy(1, 5));
    builder.add(descTextField, cc.xy(3, 5));

    builder.addLabel("Type", cc.xy(1, 7));
    builder.add(locomotiveTypeComboBox, cc.xy(3, 7));

    builder.addLabel("Image", cc.xy(1, 9));
    builder.add(chooseImageButton, cc.xy(3, 9));

    builder.add(imageLabel, cc.xyw(1, 11, 3));

    builder.addSeparator("Interface", cc.xyw(5, 1, 3));

    builder.addLabel("Bus", cc.xy(5, 3));
    builder.add(busSpinner, cc.xy(7, 3));

    builder.addLabel("Address 1", cc.xy(5, 5));
    builder.add(address1Spinner, cc.xy(7, 5));

    builder.addLabel("Address 2", cc.xy(5, 7));
    builder.add(address2Spinner, cc.xy(7, 7));

    builder.add(functionsTable, cc.xywh(5, 9, 3, 3));

    builder.add(errorPanel, cc.xyw(1, 13, 3));

    builder.add(buildButtonBar(), cc.xyw(5, 13, 3));

    // add(builder.getPanel());

    setLayout(new MigLayout());

    add(new JLabel("Name"));
    add(nameTextField, "w 300!");

    add(new JLabel("Bus"), "gap unrelated");
    add(busSpinner, "w 150!, wrap");

    add(new JLabel("Description"));
    add(descTextField, "w 300!");

    add(new JLabel("Address 1"), "gap unrelated");
    add(address1Spinner, "w 150!, wrap");

    add(new JLabel("Type"));
    add(locomotiveTypeComboBox, "w 150!");

    add(new JLabel("Address 2"), "gap unrelated");
    add(address2Spinner, "w 150!, wrap");

    add(new JLabel("Image"));
    add(chooseImageButton, "w 150!");

    add(new JLabel("Functions"), "gap unrelated");
    add(new JScrollPane(functionsTable), "h 200!, w 300!, span 1 2, wrap");

    add(imageLabel, "align center, span 2, wrap");

    add(buildButtonBar(), "span 4, align right");

}

From source file:ch.fork.AdHocRailway.ui.PreferencesDialog.java

License:Open Source License

private void initGUI() {

    final FormLayout layout = new FormLayout("5dlu, pref, 10dlu, pref, 5dlu",
            "5dlu, pref, 3dlu, top:pref,3dlu, pref, 3dlu, top:pref, 3dlu, pref, 5dlu");

    layout.setColumnGroups(new int[][] { { 2, 4 } });

    final PanelBuilder builder = new PanelBuilder(layout);
    final CellConstraints cc = new CellConstraints();

    builder.addSeparator("General", cc.xy(2, 2));
    builder.add(createGUISettingsTab(), cc.xy(2, 4));

    builder.addSeparator("Digital", cc.xy(4, 2));
    builder.add(createDigitalDataTab(), cc.xy(4, 4));

    builder.addSeparator("SRCP-Server", cc.xy(2, 6));
    builder.add(createSrcpServerTab(), cc.xy(2, 8));

    builder.addSeparator("AdHoc-Server", cc.xy(4, 6));
    builder.add(createAdHocServerTab(), cc.xy(4, 8));

    final JButton okButton = new JButton("OK", ImageTools.createImageIconFromIconSet("dialog-ok-apply.png"));
    okButton.addActionListener(new ApplyChangesAction());
    final JButton cancelButton = new JButton("Cancel",
            ImageTools.createImageIconFromIconSet("dialog-cancel.png"));
    cancelPressed = false;/*  ww  w  . j  av a2 s.co  m*/
    cancelButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(final ActionEvent e) {
            cancelPressed = true;
            PreferencesDialog.this.setVisible(false);
        }
    });

    builder.add(ButtonBarFactory.buildRightAlignedBar(okButton, cancelButton), cc.xyw(2, 10, 3));

    add(builder.getPanel());

    loadPreferences();
    pack();
    SwingUtils.addEscapeListener(this);
    setLocationRelativeTo(getParent());
    setVisible(true);
}

From source file:ch.fork.AdHocRailway.ui.routes.configuration.RoutesConfigurationDialog.java

License:Open Source License

private void buildPanel() {
    initComponents();//from www. j a va2 s  . c om
    initEventHandling();

    final FormLayout layout = new FormLayout("pref, 5dlu, pref, 5dlu",
            "pref, 3dlu, pref, 3dlu, pref, 3dlu, pref:grow, 3dlu, pref:grow, 3dlu, pref, 3dlu, pref");
    builder = new PanelBuilder(layout);
    layout.setColumnGroups(new int[][] { { 1, 3 } });
    builder.setDefaultDialogBorder();
    final CellConstraints cc = new CellConstraints();

    builder.addSeparator("Route Groups", cc.xyw(1, 1, 1));

    builder.add(new JScrollPane(routeGroupList), cc.xy(1, 3));
    builder.add(routeGroupConfig, cc.xy(1, 5));
    builder.add(buildRouteGroupButtonBar(), cc.xy(1, 7));

    builder.addSeparator("Routes", cc.xyw(3, 1, 1));

    builder.add(new JScrollPane(routesList), cc.xywh(3, 3, 1, 3));
    builder.add(buildRouteButtonBar(), cc.xy(3, 7));

    builder.add(buildMainButtonBar(), cc.xyw(1, 9, 4));

    add(builder.getPanel());
}

From source file:ch.fork.AdHocRailway.ui.turnouts.configuration.TurnoutConfig.java

License:Open Source License

private void buildPanel() {
    initComponents();//from w  w w .  java2 s  .  c  om

    final FormLayout layout = new FormLayout(
            "right:pref, 3dlu, pref:grow, 30dlu, right:pref, 3dlu, pref:grow, 3dlu,pref:grow, 30dlu, pref",
            "p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu, p:grow, 3dlu, p:grow, 10dlu,p:grow");
    layout.setColumnGroups(new int[][] { { 1, 5 }, { 3, 7 } });
    layout.setRowGroups(new int[][] { { 3, 5, 7, 9, 11 } });

    builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();
    final CellConstraints cc = new CellConstraints();

    builder.addSeparator("General", cc.xyw(1, 1, 3));

    builder.addLabel("Number", cc.xy(1, 3));
    builder.add(numberTextField, cc.xy(3, 3));

    builder.addLabel("Description", cc.xy(1, 5));
    builder.add(descTextField, cc.xy(3, 5));

    builder.addLabel("Type", cc.xy(1, 7));
    builder.add(turnoutTypeComboBox, cc.xy(3, 7));

    builder.addLabel("Default State", cc.xy(1, 9));
    builder.add(turnoutDefaultStateComboBox, cc.xy(3, 9));

    builder.addLabel("Orientation", cc.xy(1, 11));
    builder.add(turnoutOrientationComboBox, cc.xy(3, 11));

    builder.addSeparator("Interface", cc.xyw(5, 1, 5));
    builder.addLabel("Bus 1", cc.xy(5, 3));
    builder.add(bus1TextField, cc.xy(7, 3));

    builder.addLabel("Address 1", cc.xy(5, 5));
    builder.add(address1TextField, cc.xy(7, 5));

    builder.addLabel("Bus 2", cc.xy(5, 7));
    builder.add(bus2TextField, cc.xy(7, 7));

    builder.addLabel("Address 2", cc.xy(5, 9));
    builder.add(address2TextField, cc.xy(7, 9));

    builder.add(switched1Checkbox, cc.xy(9, 5));

    builder.add(switched2Checkbox, cc.xy(9, 9));

    builder.addSeparator("Test", cc.xy(11, 1));
    builder.add(testTurnoutWidget, cc.xywh(11, 3, 1, 9));

    builder.add(errorPanel, cc.xyw(1, 13, 7));
    builder.add(buildButtonBar(), cc.xyw(7, 13, 5));

    add(builder.getPanel());
}

From source file:ch.thomasmueller.saltyfiles.ui.MainView.java

License:Open Source License

/**
 * Adds the components to the panel/*from  w  ww  .ja va 2s  .c o  m*/
 * @param layout to be used
 * @return a layouted panel
 */
private JPanel build(FormLayout layout) {

    buttonGroupEncOrDec.add(radioDecrypt);
    buttonGroupEncOrDec.add(radioEncrypt);
    buttonGroupEncOrDec.setSelected(radioEncrypt.getModel(), true);

    PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();

    //       Obtain a reusable constraints object to place components in the grid.
    CellConstraints cc = new CellConstraints();

    //       Fill the grid with components; the builder can create
    //       frequently used components, e.g. separators and labels.

    //       Add a titled separator to cell (1, 1) that spans 7 columns.
    builder.addSeparator("General", cc.xyw(1, 1, 9));

    builder.addLabel("Mode", cc.xy(1, 3));
    builder.add(radioEncrypt, cc.xy(3, 3));
    builder.add(radioDecrypt, cc.xy(3, 5));

    builder.addLabel("Password", cc.xy(5, 3));
    builder.add(pwd, cc.xyw(7, 3, 3));
    builder.addLabel("Repeat", cc.xy(5, 5));
    builder.add(pwdRepeat, cc.xyw(7, 5, 3));

    builder.addSeparator("Encrypt", cc.xyw(1, 7, 9));

    builder.addLabel("Source Files", cc.xy(1, 9));
    builder.add(textEncryptSource, cc.xyw(3, 9, 5));
    builder.add(buttonChooseEncSF, cc.xy(9, 9));
    builder.addLabel("Target Directory", cc.xy(1, 11));
    builder.add(textEncryptTargetDir, cc.xyw(3, 11, 5));
    builder.add(buttonChooseEncTD, cc.xy(9, 11));
    builder.addLabel("Target Archive", cc.xy(1, 13));
    builder.add(textEncryptTargetArchive, cc.xyw(3, 13, 5));

    builder.addSeparator("Decrypt", cc.xyw(1, 15, 9));

    builder.addLabel("Source Archive", cc.xy(1, 17));
    builder.add(textDecryptSourceArchive, cc.xyw(3, 17, 5));
    builder.add(buttonChooseDecSA, cc.xy(9, 17));
    builder.addLabel("Target Directory", cc.xy(1, 19));
    builder.add(textDecryptTargetDir, cc.xyw(3, 19, 5));
    builder.add(buttonChooseDecTD, cc.xy(9, 19));

    builder.addLabel("Algorithm", cc.xy(1, 23));
    builder.add(chooseAlgorithm, cc.xy(3, 23));

    builder.addSeparator("Transform Data", cc.xyw(1, 21, 9));
    builder.add(buttonBar, cc.xyw(1, 23, 9));
    // The builder holds the layout container that we now return.

    JPanel panel = builder.getPanel();

    return panel;
}

From source file:ch.zhaw.ias.dito.ui.InputPanel.java

License:BSD License

public InputPanel(HelpArea helpArea) {
    super(ScreenEnum.INPUT, null, ScreenEnum.QUESTION);

    FormLayout layout = new FormLayout(
            "max(30dlu; pref), 30dlu, 5dlu, max(150dlu; pref), 5dlu, max(100dlu; pref), 5dlu, max(50dlu; pref), fill:0:g",
            "pref, 2dlu, pref, 2dlu, pref, 10dlu, pref, 2dlu, 20dlu, 2dlu, fill:pref:grow, 2dlu, pref, 2dlu, pref, 2dlu, pref");
    //layout.setRowGroups(new int[][]{{2, 4, 6}}); 
    CellConstraints cc = new CellConstraints();
    DefaultFormBuilder fb = new DefaultFormBuilder(layout, Translation.INSTANCE.getBundle());

    browseButton = new JXButton(Translation.INSTANCE.get("s1.bu.browse"));
    filePath.setName(Translation.INSTANCE.get("s1.lb.file"));

    fb.addI15dSeparator("s1.title.file", cc.xyw(1, 1, 8));
    fb.add(new HelpLabel(helpArea, "s1.lb.file"), cc.xyw(1, 3, 2));
    fb.add(filePath, cc.xyw(4, 3, 3));//from  w ww .j a  va2 s.c  o  m
    fb.add(browseButton, cc.xy(8, 3));
    fb.add(new HelpLabel(helpArea, "s1.lb.separator"), cc.xyw(1, 5, 2));
    //fb.addI15dLabel("s1.lb.separator", cc.xyw(1, 5, 2));
    fb.add(separator, cc.xy(8, 5));

    fb.addI15dSeparator("s1.title.data", cc.xyw(1, 7, 8));

    visualTable = new JXTable(tableModel);
    visualTable.setSortable(false);
    //visualTable.setHorizontalScrollEnabled(true);
    visualTable.getTableHeader().setReorderingAllowed(false);
    visualTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    visualTable.addHighlighter(new ColorHighlighter(new HighlightPredicate() {

        @Override
        public boolean isHighlighted(Component renderer, ComponentAdapter adapter) {
            return isColumnSelected(adapter.column) && isRowSelected(adapter.row);
        }
    }, Color.LIGHT_GRAY, Color.BLACK, Color.LIGHT_GRAY, Color.BLACK));
    JScrollPane scrollPane = new JScrollPane(visualTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
            JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    rowSlider.setInverted(true);
    rowSlider.setOrientation(JSlider.VERTICAL);
    columnSlider.addChangeListener(this);
    rowSlider.addChangeListener(this);
    columnSlider.setMinimum(1);
    rowSlider.setMinimum(1);

    columnMinSpinner.addChangeListener(this);
    columnMaxSpinner.addChangeListener(this);
    rowMinSpinner.addChangeListener(this);
    rowMaxSpinner.addChangeListener(this);
    separator.addFocusListener(new FocusAdapter() {
        @Override
        public void focusLost(FocusEvent e) {
            updateTable();
        }
    });
    filePath.addFocusListener(new FocusAdapter() {
        @Override
        public void focusLost(FocusEvent e) {
            updateTable();
        }
    });

    JPanel columnSliderPanel = new JPanel();
    columnSliderPanel.setLayout(new BorderLayout());
    columnMinSpinner.setPreferredSize(new Dimension(50, (int) columnMinSpinner.getPreferredSize().getHeight()));
    columnMaxSpinner.setPreferredSize(new Dimension(50, (int) columnMaxSpinner.getPreferredSize().getHeight()));
    columnSliderPanel.add(columnMinSpinner, BorderLayout.WEST);
    columnSliderPanel.add(columnSlider, BorderLayout.CENTER);
    columnSliderPanel.add(columnMaxSpinner, BorderLayout.EAST);
    fb.add(columnSliderPanel, cc.xyw(4, 9, 6));

    JPanel rowSliderPanel = new JPanel();
    rowSliderPanel.setLayout(new BorderLayout());
    rowSliderPanel.add(rowMinSpinner, BorderLayout.NORTH);
    rowSliderPanel.add(rowSlider, BorderLayout.CENTER);
    rowSliderPanel.add(rowMaxSpinner, BorderLayout.SOUTH);
    fb.add(rowSliderPanel, cc.xyw(2, 11, 1));

    //set preferred size explicitly, otherwise the preferred height is too big and the screen doesn't scale its size in an appropriate way
    scrollPane.setPreferredSize(new Dimension(scrollPane.getWidth(), 100));
    fb.add(scrollPane, cc.xyw(4, 11, 6));
    fb.add(allSurveys, cc.xy(4, 13));
    fb.add(allQuestions, cc.xy(4, 15));
    fb.add(columnTitles, cc.xy(4, 17));

    //validationGroup.add(filePath, Validators.FILE_MUST_BE_FILE, Validators.FILE_MUST_EXIST);
    //validationGroup.add(separator, Validators.REQUIRE_NON_EMPTY_STRING);

    Input i = Config.INSTANCE.getDitoConfig().getInput();
    filePath.setText(i.getFilename());
    separator.setText(Character.toString(i.getSeparator()));
    allQuestions.addChangeListener(this);
    allSurveys.addChangeListener(this);
    columnTitles.addChangeListener(this);
    allQuestions.setSelected(i.isAllQuestions());
    allSurveys.setSelected(i.isAllSurveys());
    columnTitles.setSelected(i.isQuestionTitles());

    browseButton.addActionListener(this);
    this.setLayout(new BorderLayout());
    this.add(fb.getPanel(), BorderLayout.CENTER);
    updateTable();
    columnSlider.setValue(i.getStartQuestion());
    columnSlider.setUpperValue(i.getEndQuestion());
    rowSlider.setValue(i.getStartSurvey());
    rowSlider.setUpperValue(i.getEndSurvey());
}

From source file:ch.zhaw.ias.dito.ui.MethodPanel.java

License:BSD License

public MethodPanel(HelpArea helpArea) {
    super(ScreenEnum.METHOD, ScreenEnum.QUESTION, ScreenEnum.ANALYSIS);
    comboModel = new MethodComboModel(DistanceMethodEnum.get(Coding.REAL));
    methods = new JComboBox(comboModel);

    FormLayout layout = new FormLayout(
            "pref, 5dlu, max(100dlu; pref), 5dlu, max(100dlu; pref), 5dlu, max(100dlu; pref), pref:grow",
            "pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, fill:pref:grow");
    CellConstraints cc = new CellConstraints();
    DefaultFormBuilder fb = new DefaultFormBuilder(layout, Translation.INSTANCE.getBundle());

    fb.addI15dSeparator("s3.lb.method", cc.xyw(1, 1, 5));
    fb.addI15dLabel("s3.lb.coding", cc.xyw(1, 3, 3));
    fb.add(codingGroup, cc.xy(5, 3));/*from  w  ww .java 2s  .  c o m*/
    codingGroup.addActionListener(this);

    fb.addI15dLabel("s3.lb.distance", cc.xyw(1, 5, 3));
    fb.add(methods, cc.xy(5, 5));
    methods.addActionListener(this);

    fb.addI15dLabel("s3.lb.parameter", cc.xyw(1, 7, 3));
    fb.add(parameter, cc.xy(5, 7));

    fb.add(formula, cc.xywh(7, 3, 1, 5));

    fb.add(ownDefinition, cc.xyw(1, 9, 3));
    createDefinition.setText("(a+d)/(a+b+c+d)");
    fb.add(createDefinition, cc.xy(5, 9));

    plotButton.addActionListener(this);
    fb.add(plotButton, cc.xy(5, 11));

    fb.addI15dSeparator("s3.lb.calculation", cc.xyw(1, 13, 5));
    fb.add(randomSample, cc.xyw(1, 15, 5));
    fb.addI15dLabel("s3.lb.sampleSize", cc.xy(3, 17));
    fb.add(sampleSize, cc.xy(5, 17));

    fb.add(parallel, cc.xyw(1, 19, 5));
    fb.addI15dLabel("s3.lb.numberOfThreads", cc.xy(3, 21));
    fb.add(numberOfThreads, cc.xy(5, 21));

    Method m = Config.INSTANCE.getDitoConfig().getMethod();
    codingGroup.setSelectedValue(m.getMethod().getCoding());
    methods.setSelectedItem(DistanceMethodEnum.get(m.getName()));

    randomSample.setSelected(m.isUseRandomSample());
    randomSample.addActionListener(this);
    sampleSize.setText(Integer.toString(m.getSampleSize()));

    parallel.setSelected(m.isParallel());
    parallel.addActionListener(this);
    numberOfThreads.setText(Integer.toString(m.getNumberOfThreads()));

    this.setLayout(new BorderLayout());
    this.add(fb.getPanel(), BorderLayout.CENTER);

    //set distance matrix to null. this way it can be garbage collected
    //the distance matrix is probably quite large, and the calculations will need a lot of memory
    Config.INSTANCE.setDistanceMatrix(null);
    updateEnabling();
}