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

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

Introduction

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

Prototype

public CellConstraints xy(int col, int row) 

Source Link

Document

Sets column and row origins; sets width and height to 1; uses the default alignments.

Examples:

 cc.xy(1, 1); cc.xy(1, 3); 

Usage

From source file:ca.sqlpower.swingui.enterprise.client.ServerProjectsManagerPanel.java

License:Open Source License

/**
 * This constructor creates a dialog for modifying and loading a project
 * from a single server designated by the given serverInfo parameter.
 * /*from w w w.  j a v a 2s .  c o  m*/
 * @param serverInfo
 *            Projects will be retrieved from this server based on the
 *            information and displayed. The dialog will allow editing the
 *            security as well as creating and deleting projects on this
 *            server.
 * @param dialogOwner
 *            The dialog to parent new dialogs to.
 * @param upf
 *            A user prompter factory for displaying error and warning
 *            messages to users.
 * @param closeAction
 *            An action that will close the dialog or frame that this dialog
 *            is contained in.
 * @param defaultFileDirectory
 *            A default file directory to start looking for files in if the
 *            user wants to upload a project. If null this will default to
 *            the user's home directory.
 * @param cookieStore
 *            A cookie store for HTTP requests. Used by the
 *            {@link ClientSideSessionUtils}.
 */
public ServerProjectsManagerPanel(SPServerInfo serverInfo, Component dialogOwner, UserPrompterFactory upf,
        Action closeAction, File defaultFileDirectory, CookieStore cookieStore) {
    this.serverInfo = serverInfo;
    this.dialogOwner = dialogOwner;
    this.upf = upf;
    this.closeAction = closeAction;
    this.defaultFileDirectory = defaultFileDirectory;
    this.cookieStore = cookieStore;

    cookieStore.clear();

    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("pref:grow, 5dlu, pref", "pref, pref, pref"));

    servers = null;

    projects = new JList(new DefaultListModel());
    projects.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseReleased(MouseEvent e) {
            refreshPanel();
            if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) {
                getOpenAction().actionPerformed(null);
            }
        }
    });

    JScrollPane projectsPane = new JScrollPane(projects);
    projectsPane.setPreferredSize(new Dimension(250, 300));

    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel(serverInfo.getName() + "'s projects:"), cc.xyw(1, 1, 2));
    builder.nextLine();
    builder.add(projectsPane, cc.xywh(1, 2, 1, 2));

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(new JButton(refreshAction));
    buttonBarBuilder.append(securityButton);
    buttonBarBuilder.append(new JButton(newAction));
    buttonBarBuilder.append(openButton);
    buttonBarBuilder.append(new JButton(deleteAction));
    buttonBarBuilder.append(new JButton(closeAction));
    builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 2));
    builder.setDefaultDialogBorder();
    panel = builder.getPanel();
}

From source file:ca.sqlpower.swingui.enterprise.client.ServerProjectsManagerPanel.java

License:Open Source License

/**
 * Creates a dialog that lets the user choose a server connection and then a
 * project./* w w  w.  j  av a2  s .  c  o m*/
 * 
 * @param serverManager
 *            This object contains all of the server information objects
 *            known and the servers based on their information will be
 *            displayed in a list so a user can navigate to different
 *            projects in different servers.
 * @param dialogOwner
 *            The dialog to parent new dialogs to.
 * @param upf
 *            A user prompter factory for displaying error and warning
 *            messages to users.
 * @param closeAction
 *            An action that will close the dialog or frame that this dialog
 *            is contained in.
 * @param defaultFileDirectory
 *            A default file directory to start looking for files in if the
 *            user wants to upload a project. If null this will default to
 *            the user's home directory.
 * @param cookieStore
 *            A cookie store for HTTP requests. Used by the
 *            {@link ClientSideSessionUtils}.
 */
public ServerProjectsManagerPanel(SPServerInfoManager serverManager, Component dialogOwner,
        UserPrompterFactory upf, Action closeAction, File defaultFileDirectory, CookieStore cookieStore) {
    this.dialogOwner = dialogOwner;
    this.upf = upf;
    this.closeAction = closeAction;
    this.defaultFileDirectory = defaultFileDirectory;
    this.cookieStore = cookieStore;

    cookieStore.clear();

    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("pref:grow, 5dlu, pref:grow, 5dlu, pref", "pref, pref, pref"));

    servers = new JList(new DefaultListModel());
    servers.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseReleased(MouseEvent e) {
            if (SwingUtilities.isLeftMouseButton(e)) {
                refreshInfoList();
            }
        }
    });

    DefaultListModel serversModel = (DefaultListModel) servers.getModel();
    serversModel.removeAllElements();
    if (serverManager.getServers(false).size() > 0) {
        for (SPServerInfo serverInfo : serverManager.getServers(false)) {
            serversModel.addElement(serverInfo);
        }
    } else {
        serversModel.addElement("No Servers");
        servers.setEnabled(false);
    }

    projects = new JList(new DefaultListModel());
    projects.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseReleased(MouseEvent e) {
            refreshPanel();
            if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) {
                getOpenAction().actionPerformed(null);
            }
        }
    });

    JScrollPane projectsPane = new JScrollPane(projects);
    projectsPane.setPreferredSize(new Dimension(250, 300));

    JScrollPane serverPane = new JScrollPane(servers);
    serverPane.setPreferredSize(new Dimension(250, 300));

    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel("Servers:"), cc.xyw(1, 1, 2));
    builder.add(new JLabel("Projects:"), cc.xyw(3, 1, 2));
    builder.nextLine();
    builder.add(serverPane, cc.xywh(1, 2, 1, 2));
    builder.add(projectsPane, cc.xywh(3, 2, 1, 2));

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(new JButton(refreshAction));
    buttonBarBuilder.append(securityButton);
    buttonBarBuilder.append(new JButton(newAction));
    buttonBarBuilder.append(openButton);
    buttonBarBuilder.append(new JButton(uploadAction));
    buttonBarBuilder.append(new JButton(deleteAction));
    buttonBarBuilder.append(new JButton(closeAction));
    builder.add(buttonBarBuilder.getPanel(), cc.xy(5, 2));
    builder.setDefaultDialogBorder();
    panel = builder.getPanel();
}

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.
 * /*  w ww  .  ja  v a  2s.c o 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.
 * /*  w  w  w .ja v  a 2 s  .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:ca.sqlpower.wabit.swingui.olap.Olap4jTableHeaderComponent.java

License:Open Source License

public Olap4jTableHeaderComponent(CellSet cellSet) {
    CellSetAxis rowAxis = cellSet.getAxes().get(1);
    int positionCount = rowAxis.getPositionCount();

    CellSetAxisMetaData axisMetaData = rowAxis.getAxisMetaData();
    List<HierarchyLabelGrid> labelGrids = new ArrayList<HierarchyLabelGrid>(
            axisMetaData.getHierarchies().size());
    for (int i = 0; i < axisMetaData.getHierarchies().size(); i++) {
        labelGrids.add(new HierarchyLabelGrid(i, positionCount));
    }/*from  w ww .java2s .  co m*/

    for (Position p : rowAxis.getPositions()) {
        List<Member> members = p.getMembers();
        int memberOrdinal = 0;
        for (Member member : members) {
            HierarchyLabelGrid lg = labelGrids.get(memberOrdinal);
            Member ancestor = member;
            do {
                lg.addLabelAtPosition(p.getOrdinal(), ancestor.getName());
                ancestor = ancestor.getParentMember();
            } while (ancestor != null);
            lg.finalizePosition(p.getOrdinal());
            memberOrdinal++;
        }
    }

    int columns = 0;
    for (HierarchyLabelGrid lg : labelGrids) {
        columns += lg.getWidth();
    }
    setLayout(new GridLayout(positionCount, columns));

    CellConstraints cc = new CellConstraints();

    String previousValue[] = new String[columns];
    for (int position = 0; position < positionCount; position++) {
        int column = 0;
        for (HierarchyLabelGrid lg : labelGrids) {
            for (String positionText : lg.getLabelsForPosition(position)) {
                String labelText = null;
                if (!SQLPowerUtils.areEqual(positionText, previousValue[column])) {
                    labelText = positionText;
                }
                JLabel label = new JLabel(labelText);
                label.setBackground(ColourScheme.HEADER_COLOURS[lg.getOrdinal()]);
                label.setOpaque(true);
                add(label, cc.xy(column + 1, position + 1));

                previousValue[column] = positionText;
                column++;
            }
        }
    }
}

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   w  w w.  j av  a 2  s  . co 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();//from  ww  w  .j  a  v  a2s. co m

    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.j a  v  a2s.com*/
 */
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  .  j a  va  2s .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   ww  w  . j a v 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();

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