Example usage for com.jgoodies.forms.layout FormLayout FormLayout

List of usage examples for com.jgoodies.forms.layout FormLayout FormLayout

Introduction

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

Prototype

public FormLayout(ColumnSpec[] colSpecs, RowSpec[] rowSpecs) 

Source Link

Document

Constructs a FormLayout using the given column and row specifications.

Usage

From source file:captureplugin.drivers.defaultdriver.configpanels.ChannelPanel.java

License:Open Source License

/**
 * creates a JPanel for managing the channels
 *///from   w  w w  .j av a  2s . co  m
private void createPanel() {
    CellConstraints cc = new CellConstraints();
    PanelBuilder pb = new PanelBuilder(new FormLayout("5dlu,pref:grow,5dlu", "pref,5dlu,fill:default:grow"),
            this);
    pb.setDefaultDialogBorder();

    ChannelTableModel tableModel = new ChannelTableModel(mData);
    mChannelTable.setModel(tableModel);
    mChannelTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    mChannelTable.getTableHeader().setReorderingAllowed(false);
    mChannelTable.getColumnModel().getColumn(0).setCellRenderer(new ChannelTableCellRenderer());
    mChannelTable.getColumnModel().getColumn(1).setCellRenderer(new DefaultTableCellRenderer() {
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int column) {
            JPanel background = new JPanel(new FormLayout("default:grow", "fill:default:grow"));
            JLabel label = new JLabel(value.toString());
            label.setOpaque(false);

            if (isSelected) {
                background.setBackground(table.getSelectionBackground());
                label.setForeground(table.getSelectionForeground());
            } else {
                background.setBackground(table.getBackground());
            }

            background.add(label, new CellConstraints().xy(1, 1));

            return background;
        }
    });

    JScrollPane sp = new JScrollPane(mChannelTable);

    addAncestorListener(new AncestorListener() {
        public void ancestorAdded(AncestorEvent event) {
        }

        public void ancestorMoved(AncestorEvent event) {
        }

        public void ancestorRemoved(AncestorEvent event) {
            if (mChannelTable.isEditing()) {
                TableCellEditor editor = mChannelTable.getCellEditor();
                if (editor != null) {
                    editor.stopCellEditing();
                }
            }
        }
    });

    pb.addSeparator(mLocalizer.msg("ChannelNames", "Channel Names"), cc.xyw(1, 1, 3));
    pb.add(sp, cc.xy(2, 3));
}

From source file:captureplugin.drivers.defaultdriver.configpanels.SettingsPanel.java

License:Open Source License

/**
 * creates a JPanel for getting the time offsets
 *///from  w w  w  .ja va  2  s  . co m
private void createPanel() {
    CellConstraints cc = new CellConstraints();
    PanelBuilder pb = new PanelBuilder(new FormLayout("5dlu,12dlu,pref:grow,5dlu,pref:grow,5dlu",
            "pref,5dlu,pref,1dlu,pref,10dlu,pref,5dlu,pref,1dlu,"
                    + "pref,10dlu,pref,5dlu,pref,1dlu,pref,7dlu,pref,pref,"
                    + "pref,pref,pref,7dlu,pref,pref,10dlu,pref"),
            this);
    pb.setDefaultDialogBorder();

    mPreTimeSpinner = new JSpinner(new SpinnerNumberModel(mData.getPreTime(), 0, null, 1));
    mPostTimeTextField = new JSpinner(new SpinnerNumberModel(mData.getPostTime(), 0, null, 1));

    mUserName.setText(mData.getUsername());
    mUserPwd.setText(mData.getPassword());

    mMaxSimult = new JSpinner(new SpinnerNumberModel(mData.getMaxSimultanious(), 1, null, 1));
    mMaxTimeout = new JSpinner(new SpinnerNumberModel(mData.getTimeout(), -1, 999, 1));

    mCheckReturn = new JCheckBox(mLocalizer.msg("CheckError", "Check if returns Error"),
            mData.useReturnValue());
    mShowOnError = new JCheckBox(mLocalizer.msg("ShowResultOnError", "Show Result-Dialog only on Error"),
            mData.getDialogOnlyOnError());
    mShowTitleAndTimeDialog = new JCheckBox(
            mLocalizer.msg("showTitleAndTime", "Show title and time settings dialog"),
            mData.getShowTitleAndTimeDialog());
    mDeleteRemovedPrograms = new JCheckBox(
            mLocalizer.msg("autoDeletePrograms",
                    "Automatically delete programs that were removed during a data update"),
            mData.getDeleteRemovedPrograms());
    mOldPrograms = new JCheckBox(mLocalizer.msg("OnlyFuture", "Only allow Programs that are in the future"),
            mData.getOnlyFuturePrograms());

    mUseTime = new JCheckBox(mLocalizer.msg("useSystemTimezone", "Use timezone provided by OS"),
            !mData.useTimeZone());

    String[] zoneIds = new String[0];
    try {
        zoneIds = TimeZone.getAvailableIDs();
    } catch (Exception e) {
        e.printStackTrace();
    }
    mTimeZones = new JComboBox(zoneIds);
    mTimeZones.setEnabled(mData.useTimeZone() && mTimeZones.getItemCount() > 0);

    for (int i = 0; i < zoneIds.length; i++) {
        if (zoneIds[i].equals(mData.getTimeZone().getID())) {
            mTimeZones.setSelectedIndex(i);
            break;
        }
    }

    pb.addSeparator(mLocalizer.msg("TimeSettings", "Timesettings"), cc.xyw(1, 1, 6));

    pb.addLabel(mLocalizer.msg("Earlier", "Number of minutes to start erlier"), cc.xyw(2, 3, 2));
    pb.add(mPreTimeSpinner, cc.xy(5, 3));

    pb.addLabel(mLocalizer.msg("Later", "Number of minutes to stop later"), cc.xyw(2, 5, 2));
    pb.add(mPostTimeTextField, cc.xy(5, 5));

    pb.addSeparator(mLocalizer.msg("User", "User"), cc.xyw(1, 7, 6));

    pb.addLabel(mLocalizer.msg("Username", "Username") + ":", cc.xyw(2, 9, 2));
    pb.add(mUserName, cc.xy(5, 9));

    pb.addLabel(mLocalizer.msg("Password", "Password") + ":", cc.xyw(2, 11, 2));
    pb.add(mUserPwd, cc.xy(5, 11));

    pb.addSeparator(mLocalizer.msg("Additional", "Additional"), cc.xyw(1, 13, 6));

    pb.addLabel(mLocalizer.msg("MaxSimult", "Maximum simultaneous recordings") + ":", cc.xyw(2, 15, 2));
    pb.add(mMaxSimult, cc.xy(5, 15));

    pb.addLabel(mLocalizer.msg("Timeout", "Wait sec. until Timeout (-1 = disabled)") + ":", cc.xyw(2, 17, 2));
    pb.add(mMaxTimeout, cc.xy(5, 17));

    pb.add(mCheckReturn, cc.xyw(2, 19, 4));
    pb.add(mShowOnError, cc.xyw(2, 20, 4));
    pb.add(mShowTitleAndTimeDialog, cc.xyw(2, 21, 4));
    pb.add(mDeleteRemovedPrograms, cc.xyw(2, 22, 4));
    pb.add(mOldPrograms, cc.xyw(2, 23, 4));

    pb.add(mUseTime, cc.xyw(2, 25, 4));

    JPanel timeZonePanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
    mTimeZoneLabel = new JLabel(mLocalizer.msg("Timezone", "Timezone") + ": ");
    mTimeZoneLabel.setEnabled(mTimeZones.isEnabled());
    timeZonePanel.add(mTimeZoneLabel);
    timeZonePanel.add(mTimeZones);

    pb.add(timeZonePanel, cc.xyw(3, 26, 3));

    mProgramReceiveTargetSelection = new ProgramReceiveTargetSelectionPanel(
            UiUtilities.getLastModalChildOf(CapturePlugin.getInstance().getSuperFrame()),
            mData.getProgramReceiveTargets(), null, CapturePlugin.getInstance(), true,
            mLocalizer.msg("sendToTitle", "Send scheduled programs to:"));
    mProgramReceiveTargetSelection.addChangeListener(this);
    pb.add(mProgramReceiveTargetSelection, cc.xyw(1, 28, 5));

    // add ChangeListener to the spinners
    mPreTimeSpinner.addChangeListener(this);
    mPostTimeTextField.addChangeListener(this);
    mMaxSimult.addChangeListener(this);
    mMaxTimeout.addChangeListener(this);

    // add ActionListener to the check boxes
    mCheckReturn.addActionListener(this);
    mShowOnError.addActionListener(this);
    mShowTitleAndTimeDialog.addActionListener(this);
    mDeleteRemovedPrograms.addActionListener(this);
    mOldPrograms.addActionListener(this);
    mUseTime.addActionListener(this);

    mUserName.addFocusListener(new FocusAdapter() {
        public void focusLost(FocusEvent e) {
            mData.setUserName(mUserName.getText());
        }
    });

    mUserPwd.addFocusListener(new FocusAdapter() {
        public void focusLost(FocusEvent e) {
            mData.setPassword(new String(mUserPwd.getPassword()));
        }
    });

    mTimeZones.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            mData.setTimeZone(TimeZone.getTimeZone((String) mTimeZones.getSelectedItem()));
        }
    });
}

From source file:captureplugin.drivers.defaultdriver.configpanels.VariablePanel.java

License:Open Source License

/**
 * creates a JPanel for managing the variables
 *///from   w w w. jav a 2s.c o m
private void createPanel() {
    CellConstraints cc = new CellConstraints();
    PanelBuilder pb = new PanelBuilder(new FormLayout("5dlu,pref:grow,5dlu", "pref,5dlu,fill:default:grow"),
            this);
    pb.setDefaultDialogBorder();

    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer() {
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int column) {
            JPanel background = new JPanel(new FormLayout("default:grow", "fill:default:grow"));
            JLabel label = new JLabel(value.toString());
            label.setOpaque(false);

            if (isSelected) {
                background.setBackground(table.getSelectionBackground());
                label.setForeground(table.getSelectionForeground());
            } else {
                background.setBackground(table.getBackground());
            }

            background.add(label, new CellConstraints().xy(1, 1));

            return background;
        }
    };

    VariableTableModel variableTableModel = new VariableTableModel(mData);
    mVariableTable.setModel(variableTableModel);
    mVariableTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    mVariableTable.getTableHeader().setReorderingAllowed(false);
    mVariableTable.getColumnModel().getColumn(0).setPreferredWidth(40);
    mVariableTable.getColumnModel().getColumn(0).setCellRenderer(renderer);
    mVariableTable.getColumnModel().getColumn(1).setCellRenderer(renderer);
    mVariableTable.getColumnModel().getColumn(2).setCellRenderer(renderer);

    JScrollPane sp = new JScrollPane(mVariableTable);

    addAncestorListener(new AncestorListener() {
        public void ancestorAdded(AncestorEvent event) {
        }

        public void ancestorMoved(AncestorEvent event) {
        }

        public void ancestorRemoved(AncestorEvent event) {
            if (mVariableTable.isEditing()) {
                TableCellEditor editor = mVariableTable.getCellEditor();
                if (editor != null) {
                    editor.stopCellEditing();
                }
            }
        }
    });

    pb.addSeparator(mLocalizer.msg("Variables", "Variables"), cc.xyw(1, 1, 3));
    pb.add(sp, cc.xy(2, 3));
}

From source file:captureplugin.drivers.dreambox.DreamboxConfigDialog.java

License:Open Source License

/**
 * Create the GUI//from w ww  .  j a  v  a  2s . 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// w w  w.  ja v a  2  s .  c  o 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:ch.fork.AdHocRailway.ui.locomotives.configuration.LocomotiveConfig.java

License:Open Source License

private void buildPanel() {
    initComponents();// w w w  .  j  a  v a 2  s.  c om

    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;//w  w w.j ava  2s  . c om
    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.RouteGroupConfigPanel.java

License:Open Source License

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

    final FormLayout layout = new FormLayout("right:pref, 3dlu, pref:grow",
            "p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu");

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

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

    add(builder.getPanel());
}

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

License:Open Source License

private void buildPanel() {
    initComponents();//from www.ja  v  a  2  s.  co m
    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 ww  .j  a va2  s .  c o  m

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