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:ca.sqlpower.swingui.enterprise.client.SPServerInfoManagerPanel.java

License:Open Source License

/**
 * Creates a panel that displays the currently configured server
 * connections. New connections can be added from this panel and existing
 * connections can be modified or removed.
 * /*from   w w  w . j a v  a 2 s .  co m*/
 * @param manager
 *            An {@link SPServerInfoManager} instance that contains server connection information.
 * @param dialogOwner
 *            A component that will be used as the dialog owner for other
 *            panels.
 * @param closeAction
 *            An action that will properly close the object displaying the
 *            panel.
 * @param boxLabel
 *           Label of the server information box
 * @param addOrEditDialogLable
 *             Label of the Add/Edit panel
 */
public SPServerInfoManagerPanel(SPServerInfoManager manager, Component dialogOwner, Action closeAction,
        String boxLabel, String addOrEditDialogLable) {
    this.manager = manager;
    this.dialogOwner = dialogOwner;
    this.boxLable = boxLabel;
    this.addOrEditDialogLabel = addOrEditDialogLable;
    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("pref:grow, 5dlu, pref", "pref, pref, pref"));

    serverInfos = new JList(new DefaultListModel());
    serverInfos.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)
                    && connectButton.getAction() != null) {
                connectButton.getAction().actionPerformed(null);
            }
        }

    });
    JScrollPane scrollPane = new JScrollPane(serverInfos);
    scrollPane.setPreferredSize(new Dimension(400, 300));

    this.connectButton = new JButton();

    // Build the GUI
    refreshInfoList();
    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel(boxLable), cc.xyw(1, 1, 3));
    builder.nextLine();
    builder.add(scrollPane, cc.xywh(1, 2, 1, 2));

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(new JButton(addAction));
    buttonBarBuilder.append(new JButton(editAction));
    buttonBarBuilder.append(new JButton(removeAction));
    buttonBarBuilder.append(connectButton);
    buttonBarBuilder.append(new JButton(closeAction));
    builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 2));
    builder.setDefaultDialogBorder();
    panel = builder.getPanel();
}

From source file:ca.sqlpower.wabit.swingui.enterprise.ServerInfoManager.java

License:Open Source License

/**
 * Creates a panel that displays the currently configured server
 * connections. New connections can be added from this panel and existing
 * connections can be modified or removed.
 * //from  w  w w  .  ja v  a2s. c  o  m
 * @param m_context
 *            A Wabit context that contains server connection information.
 * @param m_dialogOwner
 *            A component that will be used as the dialog owner for other
 *            panels.
 * @param closeAction
 *            An action that will properly close the object displaying the
 *            panel.
 */
public ServerInfoManager(WabitSessionContext m_context, Component m_dialogOwner, final Runnable closeAction) {
    this.context = m_context;
    this.dialogOwner = m_dialogOwner;
    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("pref:grow, 5dlu, pref", "pref, pref, pref"));

    serverInfos = new JList(new DefaultListModel());
    serverInfos.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) {
                editSelectedServer();
            }
        }

    });
    JScrollPane scrollPane = new JScrollPane(serverInfos);
    scrollPane.setPreferredSize(new Dimension(400, 300));

    this.connectButton = new JButton("Connect");
    this.connectButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            SPServerInfo selectedItem = (SPServerInfo) serverInfos.getSelectedValue();

            Window dialogParent;
            if (dialogOwner instanceof Window) {
                dialogParent = (Window) dialogOwner;
            } else {
                dialogParent = SwingUtilities.getWindowAncestor(dialogOwner);
            }

            if (selectedItem != null) {
                LogInToServerAction action = new LogInToServerAction(dialogParent, selectedItem, context);
                action.actionPerformed(e);
            }
        }
    });

    // Build the GUI
    refreshInfoList();
    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel("Available Server Connections:"), cc.xyw(1, 1, 3));
    builder.nextLine();
    builder.add(scrollPane, cc.xywh(1, 2, 1, 2));

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(new JButton(addAction));
    buttonBarBuilder.append(new JButton(editAction));
    buttonBarBuilder.append(new JButton(removeAction));
    buttonBarBuilder.append(connectButton);
    buttonBarBuilder.append(new JButton(new AbstractAction("Close") {
        public void actionPerformed(ActionEvent arg0) {
            closeAction.run();
        }
    }));
    builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 2));
    builder.setDefaultDialogBorder();
    panel = builder.getPanel();
}

From source file:calendarexportplugin.CalendarSettingsTab.java

License:Open Source License

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

    mCategorie = new JTextField(mSettings.getCategory());

    String[] reservedValues = { mLocalizer.msg("Busy", "Busy"), mLocalizer.msg("Free", "Free") };

    mShowTime = new JComboBox(reservedValues);
    if (mSettings.isShowBusy()) {
        mShowTime.setSelectedIndex(0);//from  ww w. j  av  a2  s.  c o m
    } else if (mSettings.isShowFree()) {
        mShowTime.setSelectedIndex(1);
    }

    String[] classificationValues = { mLocalizer.msg("Public", "Public"), mLocalizer.msg("Private", "Private"),
            mLocalizer.msg("Confidential", "Confidential") };

    mClassification = new JComboBox(classificationValues);

    if (mSettings.isClassificationPublic()) {
        mClassification.setSelectedIndex(0);
    } else if (mSettings.isClassificationPrivate()) {
        mClassification.setSelectedIndex(1);
    } else if (mSettings.isClassificationConfidential()) {
        mClassification.setSelectedIndex(2);
    }

    mNulltime = new JCheckBox(mLocalizer.msg("nullTime", "Set length to 0 Minutes"));

    if (mSettings.getNullTime()) {
        mNulltime.setSelected(true);
    }

    pb.addRow();
    pb.addLabel(mLocalizer.msg("Categorie", "Categorie") + ':', cc.xy(2, pb.getRow()));
    pb.add(mCategorie, cc.xyw(4, pb.getRow(), pb.getColumnCount() - 3));

    pb.addRow();
    pb.addLabel(mLocalizer.msg("ShowTime", "Show Time as") + ':', cc.xy(2, pb.getRow()));
    pb.add(mShowTime, cc.xyw(4, pb.getRow(), pb.getColumnCount() - 3));

    pb.addRow();
    pb.addLabel(mLocalizer.msg("Classification", "Classification") + ':', cc.xy(2, pb.getRow()));
    pb.add(mClassification, cc.xyw(4, pb.getRow(), pb.getColumnCount() - 3));

    mUseAlarm = new JCheckBox(mLocalizer.msg("reminder", "Use reminder"));
    pb.addRow();
    pb.add(mUseAlarm, cc.xy(2, pb.getRow()));

    SpinnerModel model = new SpinnerNumberModel(0, 0, 1440, 1);
    mAlarmMinutes = new JSpinner(model);
    JPanel panel = new JPanel(new BorderLayout());

    panel.add(mAlarmMinutes, BorderLayout.WEST);

    final JLabel label = new JLabel(mLocalizer.msg("minutesBefore", "Minutes before start."));
    label.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));
    panel.add(label, BorderLayout.CENTER);

    mUseAlarm.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent e) {
            mAlarmMinutes.setEnabled(mUseAlarm.isSelected());
            label.setEnabled(mUseAlarm.isSelected());
        }
    });

    if (mSettings.getUseAlarm()) {
        mUseAlarm.setSelected(true);
    }

    try {
        mAlarmMinutes.setValue(mSettings.getAlarmMinutes());
    } catch (Exception e) {
        // empty
    }

    mAlarmMinutes.setEnabled(mUseAlarm.isSelected());
    label.setEnabled(mUseAlarm.isSelected());

    pb.add(panel, cc.xyw(4, pb.getRow(), 2));

    pb.addRow();
    pb.add(mNulltime, cc.xyw(2, pb.getRow(), 4));

    mMarkItems = new JCheckBox(mLocalizer.msg("markItems", "Mark items when exported"));
    if (mSettings.getMarkItems()) {
        mMarkItems.setSelected(true);
    }

    pb.addRow();
    pb.add(mMarkItems, cc.xyw(2, pb.getRow(), 4));

    pb.addParagraph(mLocalizer.msg("interface", "Interface"));

    mExporterList = new SelectableItemList(mPlugin.getExporterFactory().getActiveExporters(),
            mPlugin.getExporterFactory().getAllExporters());
    pb.addRow("120");
    pb.add(mExporterList, cc.xyw(2, pb.getRow(), 3));

    final JButton settings = new JButton(Localizer.getLocalization(Localizer.I18N_SETTINGS));
    settings.setEnabled(false);

    mExporterList.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            Object[] ob = mExporterList.getListSelection();
            if ((ob.length == 1) && (((ExporterIf) ob[0]).hasSettingsDialog())) {
                settings.setEnabled(true);
            } else {
                settings.setEnabled(false);
            }
        }
    });

    settings.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            Object[] ob = mExporterList.getListSelection();
            if (ob.length == 1) {
                ((ExporterIf) ob[0]).showSettingsDialog(mSettings);
            }
        }
    });

    pb.add(settings, cc.xy(6, pb.getRow(), CellConstraints.RIGHT, CellConstraints.TOP));

    pb.addParagraph(mLocalizer.msg("formattings", "Formattings"));

    JButton extended = new JButton(mLocalizer.msg("formattings", "Formattings"));

    extended.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            showExtendedDialog(pb.getPanel());
        }
    });

    pb.addRow();
    pb.add(extended, cc.xy(2, pb.getRow()));

    return pb.getPanel();
}

From source file:calendarexportplugin.exporter.AppleSettingsDialog.java

License:Open Source License

private void createGui(final CalendarExportSettings settings) {
    setTitle(mLocalizer.msg("title", "iCal Calendar Settings"));

    UiUtilities.registerForClosing(this);

    JPanel content = (JPanel) getContentPane();
    content.setBorder(Borders.DLU4_BORDER);

    CellConstraints cc = new CellConstraints();

    content.setLayout(new FormLayout("5dlu, 15dlu, fill:pref:grow, 3dlu, 100dlu",
            "pref, 3dlu,pref, 3dlu,pref, 3dlu,pref, 3dlu,pref, 3dlu,pref, 3dlu,pref, 3dlu,pref, fill:3dlu:grow ,pref, 3dlu,pref"));

    content.add(new JLabel(mLocalizer.msg("select", "Select Calendar")), cc.xyw(2, 3, 2));
    mCalendarChooser = new JTextField();
    content.add(mCalendarChooser, cc.xy(5, 3));

    ButtonBarBuilder2 builder = new ButtonBarBuilder2();
    builder.addGlue();/* www  . j  a  v  a 2  s.com*/

    mOkButton = new JButton(Localizer.getLocalization(Localizer.I18N_OK));

    mOkButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            okPressed(settings);
        }
    });

    getRootPane().setDefaultButton(mOkButton);

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

    cancel.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            close();
        }
    });

    builder.addButton(new JButton[] { mOkButton, cancel });
    content.add(builder.getPanel(), cc.xyw(1, 19, 5));
    loadValues(settings);

    setSize(Sizes.dialogUnitXAsPixel(200, this), Sizes.dialogUnitYAsPixel(100, this));
}

From source file:calendarexportplugin.ExtendedDialog.java

License:Open Source License

/**
 * Create the GUI/*from  w  w  w  . java2  s.c  o m*/
 */
private void createGui() {
    try {
        CellConstraints cc = new CellConstraints();
        PanelBuilder pb = new PanelBuilder(
                new FormLayout("5dlu,default:grow,5dlu", "pref,5dlu,fill:default:grow,5dlu,pref"),
                (JPanel) this.getContentPane());
        pb.setDefaultDialogBorder();

        mConfigPanel = new PluginProgramConfigurationPanel(
                CalendarExportPlugin.getInstance().getSelectedPluginProgramFormattings(),
                CalendarExportPlugin.getInstance().getAvailableLocalPluginProgramFormatings(),
                CalendarExportPlugin.getDefaultFormatting(), true, false);

        pb.addSeparator(mLocalizer.msg("title", "Formatings selection"), cc.xyw(1, 1, 3));
        pb.add(mConfigPanel, cc.xy(2, 3));

        FormLayout layout = new FormLayout("0dlu:grow,pref,5dlu,pref", "pref");
        layout.setColumnGroups(new int[][] { { 2, 4 } });

        JPanel buttonPanel = new JPanel(layout);

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

        buttonPanel.add(ok, cc.xy(2, 1));
        buttonPanel.add(cancel, cc.xy(4, 1));

        pb.add(buttonPanel, cc.xy(2, 5));

        getRootPane().setDefaultButton(ok);

        setSize(550, 400);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

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

License:Open Source License

/**
 * creates a JPanel for getting the programpath
 *///w  w w  .  ja v  a  2 s  .c o  m
private void createPanel() {
    CellConstraints cc = new CellConstraints();
    PanelBuilder pb = new PanelBuilder(
            new FormLayout("5dlu,pref,3dlu,pref:grow,3dlu,pref,2dlu", "pref,5dlu,pref,3dlu,pref"), this);
    pb.setDefaultDialogBorder();

    pb.addSeparator(mLocalizer.msg("What", "What to start"), cc.xyw(1, 1, 7));

    JRadioButton application = new JRadioButton(mLocalizer.msg("Application", "Application"));

    pb.add(application, cc.xy(2, 3));

    mPathTextField.setText(mData.getProgramPath());
    mPathTextField.addFocusListener(new FocusAdapter() {
        public void focusLost(FocusEvent e) {
            mData.setProgramPath(mPathTextField.getText());
        }
    });

    pb.add(mPathTextField, cc.xy(4, 3));

    mFileButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            pathButtonPressed(e);
        }
    });

    pb.add(mFileButton, cc.xy(6, 3));

    JRadioButton url = new JRadioButton(mLocalizer.msg("URL", "URL"));

    pb.add(url, cc.xy(2, 5));

    mUrl.setText(mData.getWebUrl());

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

    pb.add(mUrl, cc.xyw(4, 5, 3));

    ButtonGroup group = new ButtonGroup();

    group.add(application);
    group.add(url);

    url.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            setUrlMode(true);
        }
    });

    application.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            setUrlMode(false);
        }
    });

    if (mData.getUseWebUrl()) {
        url.setSelected(true);
    } else {
        application.setSelected(true);
    }

    setUrlMode(mData.getUseWebUrl());
}

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

License:Open Source License

/**
 * creates a JPanel for managing the channels
 *///from   w w  w.  java  2  s  .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();

    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.ParameterPanel.java

License:Open Source License

/**
 * creates a JPanel for getting the parameters
 *///from   w w w  . j a v a 2  s .c  o m
private void createPanel() {
    try {
        CellConstraints cc = new CellConstraints();
        EnhancedPanelBuilder pb = new EnhancedPanelBuilder("5dlu,pref,5dlu,pref:grow,pref,5dlu", this);
        pb.setDefaultDialogBorder();

        pb.addParagraph(mLocalizer.msg("parametersRecord", "Parameters for recording"));

        pb.addGrowingRow();
        mAddFormatTextField = new ParamInputField(new CaptureParamLibrary(mData), mData.getParameterFormatAdd(),
                false);
        mAddFormatTextField.addFocusListener(new FocusAdapter() {
            public void focusLost(FocusEvent e) {
                addFormatChanged();
            }
        });

        pb.add(mAddFormatTextField, cc.xyw(2, pb.getRow(), pb.getColumnCount() - 1));

        pb.addParagraph(mLocalizer.msg("parametersDelete", "Parameters for deletion"));

        pb.addGrowingRow();
        mRemFormatTextField = new ParamInputField(new CaptureParamLibrary(mData), mData.getParameterFormatRem(),
                false);
        mRemFormatTextField.addFocusListener(new FocusAdapter() {
            public void focusLost(FocusEvent e) {
                remFormatChanged();
            }
        });

        pb.add(mRemFormatTextField, cc.xyw(2, pb.getRow(), pb.getColumnCount() - 1));

        pb.addParagraph(mLocalizer.msg("parametersAdditional", "Additional commands"));
        pb.addRow();
        JButton additional = new JButton(mLocalizer.msg("Additional", "Define additional commands"));

        additional.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                AdditionalParams params = new AdditionalParams(mKonfigurator, mData);
                UiUtilities.centerAndShow(params);
            }
        });

        pb.add(additional, cc.xy(pb.getColumnCount() - 1, pb.getRow()));

    } catch (Exception e) {
        e.printStackTrace();
    }
}

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

License:Open Source License

/**
 * creates a JPanel for getting the time offsets
 *//*  w w w.j  a  v  a2  s .  c om*/
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  . j  av a  2 s  . 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));
}