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.architect.swingui.WelcomeScreen.java

License:Open Source License

public void showWelcomeDialog(Component dialogOwner) {
    final JDialog d = SPSUtils.makeOwnedDialog(dialogOwner,
            Messages.getString("WelcomeScreen.welcomeScreenTitle")); //$NON-NLS-1$
    d.setLayout(new BorderLayout(0, 12));
    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("pref:grow, fill:pref, pref:grow", "pref, pref, pref"));
    CellConstraints cc = new CellConstraints();
    JPanel logoPanel = LogoLayout.generateLogoPanel();
    builder.add(logoPanel, cc.xyw(1, 1, 3));
    d.add(builder.getPanel(), BorderLayout.NORTH);
    logoPanel.getLayout().layoutContainer(logoPanel);

    HTMLEditorKit htmlKit = new HTMLEditorKit();
    final JEditorPane htmlComponent = new JEditorPane();
    htmlComponent.setEditorKit(htmlKit);
    htmlComponent.setText(welcomeHTMLstuff);
    htmlComponent.setEditable(false);// w w w .ja va2  s .  c om
    htmlComponent.setBackground(null);

    /** Jump to the URL (in the user's configured browser)
     * when a link is clicked.
     */
    htmlComponent.addHyperlinkListener(new HyperlinkListener() {
        public void hyperlinkUpdate(HyperlinkEvent evt) {
            if (evt.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
                URL url = evt.getURL();
                try {
                    BrowserUtil.launch(url.toString());
                } catch (IOException e1) {
                    throw new RuntimeException(Messages.getString("WelcomeScreen.unexpectedError"), e1); //$NON-NLS-1$
                }
            }
        }
    });
    d.add(htmlComponent, BorderLayout.CENTER);

    showPrefsAgain = new JCheckBox(Messages.getString("WelcomeScreen.showWelcomeInFuture")); //$NON-NLS-1$
    showPrefsAgain.setSelected(true);

    JButton closeButton = new JButton(Messages.getString("WelcomeScreen.closeButton")); //$NON-NLS-1$
    closeButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            context.getUserSettings().getSwingSettings()
                    .setBoolean(ArchitectSwingUserSettings.SHOW_WELCOMESCREEN, showPrefsAgain.isSelected());
            d.dispose();
        }
    });

    JPanel bottomPanel = new JPanel();
    bottomPanel.setLayout(new BorderLayout());
    bottomPanel.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12));
    bottomPanel.add(showPrefsAgain, BorderLayout.WEST);
    bottomPanel.add(closeButton, BorderLayout.EAST);
    d.add(bottomPanel, BorderLayout.SOUTH);

    d.getRootPane().setDefaultButton(closeButton);
    d.pack();

    // The dialog is just a few pixels too wide after packing.
    d.setSize(d.getSize().width - 4, d.getSize().height);

    d.setLocationRelativeTo(dialogOwner);
    d.setVisible(true);
}

From source file:ca.sqlpower.matchmaker.swingui.action.ProgressAction.java

License:Open Source License

/**
 * Setup the dialog, monitors and worker.  Classes that extend this class
 * should use doStuff() and cleanUp()//from www.  jav  a 2  s.co  m
 */
public void actionPerformed(ActionEvent e) {
    final JDialog progressDialog;
    final Map<String, Object> properties = new HashMap<String, Object>();
    progressDialog = new JDialog(frame, "Progress...", false);
    progressDialog.setLocationRelativeTo(frame);
    progressDialog.setTitle(getDialogMessage());

    PanelBuilder pb = new PanelBuilder(
            new FormLayout("4dlu,fill:min(100dlu;default):grow, pref, fill:min(100dlu;default):grow,4dlu",
                    "4dlu,pref,4dlu, pref, 6dlu, pref,4dlu"));
    JLabel label = new JLabel(getDialogMessage());
    JProgressBar progressBar = new JProgressBar();
    final MonitorableImpl monitor = new MonitorableImpl();
    if (!setup(monitor, properties)) {
        // if setup indicates not to continue (returns false), then exit method
        return;
    }
    CellConstraints c = new CellConstraints();
    pb.add(label, c.xyw(2, 2, 3));
    pb.add(progressBar, c.xyw(2, 4, 3));
    pb.add(new JButton(new AbstractAction(getButtonText()) {
        public void actionPerformed(ActionEvent e) {
            progressDialog.dispose();
            monitor.setCancelled(true);
        }
    }), c.xy(3, 6));
    progressDialog.add(pb.getPanel());

    SPSwingWorker worker = new SPSwingWorker(session) {
        @Override
        public void cleanup() throws Exception {
            if (getDoStuffException() != null) {
                SPSUtils.showExceptionDialogNoReport(session.getFrame(),
                        "An unexpected exception occurred during the export", getDoStuffException());
            }
            ProgressAction.this.cleanUp(monitor);
            monitor.setFinished(true);
            progressDialog.dispose();
        }

        @Override
        public void doStuff() throws Exception {
            ProgressAction.this.doStuff(monitor, properties);
        }
    };
    ProgressWatcher.watchProgress(progressBar, monitor);
    progressDialog.pack();
    progressDialog.setVisible(true);

    new Thread(worker).start();
}

From source file:ca.sqlpower.matchmaker.swingui.BuildExampleTableDialog.java

License:Open Source License

/**
 * Builds the gui for this dialog//from  www  . j  a v  a 2 s.  com
 */
private void buildGUI() {
    JPanel panel;
    if (logger.isDebugEnabled()) {
        panel = new FormDebugPanel();
    } else {
        panel = new JPanel();
    }

    FormLayout layout = new FormLayout("4dlu,pref,4dlu,pref:grow,4dlu",
            "4dlu,pref:grow,4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu");
    panel.setLayout(layout);

    CellConstraints cc = new CellConstraints();

    int row = 2;
    panel.add(status, cc.xyw(2, row, 3));

    row += 2;
    panel.add(new JLabel("Data Source:"), cc.xy(2, row));
    panel.add(sourceChooser.getDataSourceComboBox(), cc.xy(4, row));

    row += 2;
    panel.add(sourceChooser.getCatalogTerm(), cc.xy(2, row));
    panel.add(sourceChooser.getCatalogComboBox(), cc.xy(4, row));

    row += 2;
    panel.add(sourceChooser.getSchemaTerm(), cc.xy(2, row));
    panel.add(sourceChooser.getSchemaComboBox(), cc.xy(4, row));

    row += 2;
    panel.add(new JLabel("Table:"), cc.xy(2, row));
    panel.add(tableName, cc.xy(4, row));

    row += 2;
    panel.add(new JLabel("# of Rows to Insert:"), cc.xy(2, row));
    panel.add(rowCounter, cc.xy(4, row));

    row += 2;
    cancel = new JButton(new AbstractAction("Close") {
        public void actionPerformed(ActionEvent e) {
            dispose();
        }
    });

    create = new JButton(new AbstractAction("Create") {
        public void actionPerformed(ActionEvent e) {
            try {
                generateTableSQL();
            } catch (Exception ex) {
                SPSUtils.showExceptionDialogNoReport(BuildExampleTableDialog.this,
                        "Error while trying to create example table", ex);
            }
        }
    });

    panel.add(ButtonBarFactory.buildOKCancelBar(create, cancel), cc.xyw(2, row, 3));

    row += 2;
    progress = new JProgressBar(0, spinnerNumberModel.getNumber().intValue());
    popMon = new PopulationMonitor(spinnerNumberModel.getNumber().intValue());
    pw = new ProgressWatcher(progress, popMon);

    panel.add(progress, cc.xyw(2, row, 3));

    setContentPane(panel);
    pack();
}

From source file:ca.sqlpower.matchmaker.swingui.FilterMakerDialog.java

License:Open Source License

public void buildUI() {

    FormLayout layout = new FormLayout(
            "4dlu,fill:min(70dlu;default), 4dlu, fill:150dlu:grow,4dlu, min(60dlu;default),4dlu",
            "10dlu,pref,4dlu,pref,4dlu,pref,4dlu,20dlu,4dlu,fill:60dlu:grow,10dlu,pref,10dlu");

    CellConstraints cc = new CellConstraints();

    PanelBuilder pb;/*  w  w  w.  ja va2s  . c  o  m*/
    JPanel p = logger.isDebugEnabled() ? new FormDebugPanel(layout) : new JPanel(layout);

    pb = new PanelBuilder(layout, p);

    columnName = new JComboBox(new ColumnComboBoxModel(projectSourceTable));

    comparisonOperator = new JComboBox();
    pasteButton = new JButton(pasteAction);
    andButton = new JButton(andAction);
    andButton.setSize(new Dimension(1, 1));
    orButton = new JButton(orAction);
    orButton.setSize(new Dimension(1, 1));
    notButton = new JButton(notAction);
    notButton.setSize(new Dimension(1, 1));
    testButton = new JButton(testAction);
    clearButton = new JButton(clearAction);
    okButton = new JButton(okAction);
    cancelButton = new JButton(cancelAction);
    filterText = new JTextArea();
    setFilterTextContent(returnText);

    pb.add(new JLabel("Duplicate1:"), cc.xy(2, 2, "l,c"));
    pb.add(columnName, cc.xy(4, 2, "f,c"));
    pb.add(new JLabel("Comparison Operator:"), cc.xy(2, 4, "l,c"));
    pb.add(comparisonOperator, cc.xy(4, 4));
    pb.add(new JLabel("Duplicate2:"), cc.xy(2, 6, "l,c"));

    //If trueForTextArea is true, initiailize and use JTextField
    //if false, use a JComboBox and fill the dropdown with columns of the table
    if (trueForTextField) {
        conditionTextField = new JTextField();
        pb.add(conditionTextField, cc.xy(4, 6));
    } else {
        columnName2 = new JComboBox(new ColumnComboBoxModel(projectSourceTable));

        pb.add(columnName2, cc.xy(4, 6));
    }

    pb.add(pasteButton, cc.xy(6, 6, "r,c"));

    ButtonBarBuilder syntaxBar = new ButtonBarBuilder();
    syntaxBar.addGridded(andButton);
    syntaxBar.addRelatedGap();
    syntaxBar.addGridded(orButton);
    syntaxBar.addRelatedGap();
    syntaxBar.addGridded(notButton);
    syntaxBar.addRelatedGap();

    pb.add(syntaxBar.getPanel(), cc.xyw(2, 8, 3));
    pb.add(new JTextAreaUndoWrapper(filterText), cc.xyw(2, 10, 5, "f,f"));

    ButtonBarBuilder bottomButtons = new ButtonBarBuilder();

    bottomButtons.addGridded(testButton);
    bottomButtons.addRelatedGap();
    bottomButtons.addGlue();
    bottomButtons.addGridded(clearButton);
    bottomButtons.addRelatedGap();
    bottomButtons.addGlue();
    bottomButtons.addGridded(okButton);
    bottomButtons.addRelatedGap();
    bottomButtons.addGlue();
    bottomButtons.addGridded(cancelButton);
    bottomButtons.addRelatedGap();
    bottomButtons.addGlue();

    pb.add(bottomButtons.getPanel(), cc.xyw(2, 12, 5, "f,f"));

    setupOperatorDropdown();

    getContentPane().add(pb.getPanel());

}

From source file:ca.sqlpower.matchmaker.swingui.MMODuplicateValidatorDemo.java

License:Open Source License

private void buildUI() {
    statusLabel = new StatusComponent();
    form = new FormValidationHandler(statusLabel);
    field = new JTextField();
    d = new JDialog();
    items = new JComboBox();
    area = new JTextArea();
    area.setEditable(false);/*from w w w. j a  v  a  2  s.c  o  m*/
    create = new JButton(new AbstractAction("Create") {

        public void actionPerformed(ActionEvent e) {
            StubMatchMakerObject child = new StubMatchMakerObject(field.getText());
            child.setAllowChildren(false);
            obj.addChild(child);
            field.setText("");
            refreshTextArea();
        }

    });

    exit = new JButton(new AbstractAction("Exit") {

        public void actionPerformed(ActionEvent e) {
            d.setVisible(false);
            d.dispose();
        }

    });

    FormLayout layout = new FormLayout("4dlu,pref,4dlu,fill:50dlu:grow,4dlu,pref,4dlu",
            "4dlu,pref,4dlu,pref,4dlu,fill:80dlu:grow, 4dlu, pref,4dlu");
    PanelBuilder pb = new PanelBuilder(layout);
    CellConstraints cc = new CellConstraints();
    pb.add(statusLabel, cc.xyw(2, 2, 6));
    pb.add(new JLabel("Project Name"), cc.xy(2, 4));
    pb.add(field, cc.xy(4, 4));
    pb.add(create, cc.xy(6, 4));
    pb.add(new JScrollPane(area), cc.xyw(2, 6, 5));
    pb.add(exit, cc.xy(6, 8));

    Validator v1 = new MMODuplicateValidator(obj, null, "Cannot have Duplicate Name",
            new MatchMakerTranslateGroup());
    form.addValidateObject(field, v1);
    d.getContentPane().add(pb.getPanel());

}

From source file:ca.sqlpower.matchmaker.swingui.MungeProcessEditor.java

License:Open Source License

private void buildUI() throws SQLObjectException {
    panel = new JPanel(new BorderLayout());
    FormLayout layout = new FormLayout("4dlu,pref,4dlu,fill:pref:grow,4dlu,pref,4dlu,pref,4dlu", // columns
            "4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu"); // rows
    CellConstraints cc = new CellConstraints();
    JPanel subPanel = new JPanel(layout);
    subPanel.add(status, cc.xyw(2, 2, 7));
    subPanel.add(new JLabel("Process Name: "), cc.xy(2, 4));
    subPanel.add(name, cc.xy(4, 4));/*from w ww  .  j a v  a2  s  . c  o m*/

    subPanel.add(new JLabel("Description: "), cc.xy(2, 6));
    subPanel.add(desc, cc.xy(4, 6));

    subPanel.add(new JLabel("Colour: "), cc.xy(6, 6));
    ColorCellRenderer renderer = new ColorCellRenderer(85, 50);
    color.setRenderer(renderer);
    subPanel.add(color, cc.xy(8, 6));
    subPanel.add(new JButton(saveAction), cc.xy(2, 8));
    subPanel.add(mungePen.getEnablePreviewCheckBox(), cc.xy(4, 8));
    subPanel.add(new JButton(customColour), cc.xy(8, 8));
    panel.add(subPanel, BorderLayout.NORTH);

    JToolBar t = new JToolBar();

    MungeStepLibrary msl = new MungeStepLibrary(mungePen,
            ((SwingSessionContext) swingSession.getContext()).getStepMap());
    t.setBackground(Color.WHITE);
    t.setLayout(new BorderLayout());
    t.add(msl.getHideShowButton(), BorderLayout.NORTH);
    t.add(new JScrollPane(msl.getList()), BorderLayout.CENTER);
    t.setBorder(BorderFactory.createRaisedBevelBorder());
    t.setFloatable(false);
    panel.add(new JScrollPane(mungePen), BorderLayout.CENTER);
    panel.add(t, BorderLayout.EAST);
}

From source file:ca.sqlpower.swingui.db.DatabaseConnectionManager.java

License:Open Source License

private JPanel createPanel(List<Action> additionalActions, List<JComponent> additionalComponents,
        boolean showCloseButton, String message) {

    FormLayout layout = new FormLayout("6dlu, fill:min(160dlu;default):grow, 6dlu, pref, 6dlu", // columns //$NON-NLS-1$
            " 6dlu,10dlu,6dlu,fill:min(180dlu;default):grow,10dlu"); // rows //$NON-NLS-1$

    layout.setColumnGroups(new int[][] { { 1, 3, 5 } });
    CellConstraints cc = new CellConstraints();

    PanelBuilder pb;//w  ww.j  a  va 2 s  .  c o  m
    JPanel p = logger.isDebugEnabled() ? new FormDebugPanel(layout) : new JPanel(layout);
    pb = new PanelBuilder(layout, p);
    pb.setDefaultDialogBorder();

    pb.add(new JLabel(message), cc.xyw(2, 2, 3)); //$NON-NLS-1$

    TableModel tm = new ConnectionTableModel(dsCollection);
    dsTable = new EditableJTable(tm);
    dsTable.setTableHeader(null);
    dsTable.setShowGrid(false);
    dsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    dsTable.addMouseListener(new DSTableMouseListener());
    dsTable.setDefaultRenderer(SPDataSource.class, new ConnectionTableCellRenderer());

    JScrollPane sp = new JScrollPane(dsTable);
    sp.getViewport().setBackground(dsTable.getBackground());

    pb.add(sp, cc.xy(2, 4));

    ButtonStackBuilder bsb = new ButtonStackBuilder();

    JButton newButton = new JButton();
    AbstractAction newDatabaseConnectionAction = new NewConnectionAction(
            Messages.getString("DatabaseConnectionManager.newDbConnectionActionName"), newButton); //$NON-NLS-1$
    newButton.setAction(newDatabaseConnectionAction);
    bsb.addGridded(newButton);
    bsb.addRelatedGap();
    bsb.addGridded(new JButton(editDatabaseConnectionAction));
    bsb.addRelatedGap();
    bsb.addGridded(new JButton(removeDatabaseConnectionAction));

    removeDatabaseConnectionAction.setEnabled(false);
    editDatabaseConnectionAction.setEnabled(false);

    bsb.addUnrelatedGap();
    JButton jdbcDriversButton = new JButton(jdbcDriversAction);
    bsb.addGridded(jdbcDriversButton);

    for (Action a : additionalActions) {
        bsb.addUnrelatedGap();
        JButton b = new JButton(a);
        Object disableValue = a.getValue(DISABLE_IF_NO_CONNECTION_SELECTED);
        if (disableValue instanceof Boolean && disableValue.equals(Boolean.TRUE)) {
            b.setEnabled(false);
        }

        Object heightValue = a.getValue(ADDITIONAL_BUTTON_HEIGHT);
        if (heightValue instanceof Integer) {
            b.setPreferredSize(new Dimension((int) b.getPreferredSize().getWidth(), (Integer) heightValue));
        }

        Object verticalTextPos = a.getValue(VERTICAL_TEXT_POSITION);
        if (verticalTextPos instanceof Integer) {
            Integer verticalTextInt = (Integer) verticalTextPos;
            if (verticalTextInt == SwingConstants.TOP || verticalTextInt == SwingConstants.BOTTOM
                    || verticalTextInt == SwingConstants.CENTER) {
                b.setVerticalTextPosition(verticalTextInt);
            }
        }

        Object horizontalTextPos = a.getValue(HORIZONTAL_TEXT_POSITION);
        if (horizontalTextPos instanceof Integer) {
            Integer horizontalTextInt = (Integer) horizontalTextPos;
            if (horizontalTextInt == SwingConstants.LEFT || horizontalTextInt == SwingConstants.RIGHT
                    || horizontalTextInt == SwingConstants.CENTER || horizontalTextInt == SwingConstants.LEADING
                    || horizontalTextInt == SwingConstants.TRAILING) {
                b.setHorizontalTextPosition(horizontalTextInt);
            }
        }

        additionalActionButtons.add(b);
        bsb.addFixed(b);
    }

    for (JComponent comp : additionalComponents) {
        bsb.addUnrelatedGap();
        bsb.addFixed(comp);
    }

    if (showCloseButton) {
        bsb.addUnrelatedGap();
        bsb.addGridded(new JButton(closeAction));
    }

    pb.add(bsb.getPanel(), cc.xy(4, 4));
    return pb.getPanel();

}

From source file:ca.sqlpower.swingui.db.DataSourceTypeEditorPanel.java

License:Open Source License

private void buildPanel() {

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

        public void changedUpdate(DocumentEvent e) {
            updateTemplate();/*ww  w. j  a  v  a  2s  .com*/
        }

        public void insertUpdate(DocumentEvent e) {
            updateTemplate();
        }

        public void removeUpdate(DocumentEvent e) {
            updateTemplate();
        }

        /**
         * Updates the template if dsType is not currently null.
         */
        private void updateTemplate() {
            if (dsType != null) {
                dsType.setJdbcUrl(connectionStringTemplate.getText());
                template.setTemplate(dsType);
            }
        }

    });

    tabbedPane = new JTabbedPane();

    PanelBuilder pb = new PanelBuilder(new FormLayout("4dlu,pref,4dlu,pref:grow,4dlu", //$NON-NLS-1$
            "4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu,pref,4dlu, pref:grow, 4dlu")); //$NON-NLS-1$

    CellConstraints cc = new CellConstraints();
    CellConstraints cl = new CellConstraints();
    int row = 2;
    pb.addLabel(Messages.getString("DataSourceTypeEditorPanel.nameLabel"), cl.xy(2, row), name, cc.xy(4, row)); //$NON-NLS-1$
    row += 2;
    pb.addLabel(Messages.getString("DataSourceTypeEditorPanel.driverClassLabel"), cl.xy(2, row), driverClass, //$NON-NLS-1$
            cc.xy(4, row));
    row += 2;
    pb.addLabel(Messages.getString("DataSourceTypeEditorPanel.connectionStringTemplateLabel"), cl.xy(2, row), //$NON-NLS-1$
            connectionStringTemplate, cc.xy(4, row));
    row += 2;
    connectionStringTemplate.setToolTipText(Messages.getString("DataSourceTypeEditorPanel.templateToolTip")); //$NON-NLS-1$
    pb.addTitle(Messages.getString("DataSourceTypeEditorPanel.optionsEditorPreview"), cl.xyw(2, row, 3)); //$NON-NLS-1$
    row += 2;
    pb.addLabel(Messages.getString("DataSourceTypeEditorPanel.sampleOptions"), cl.xy(2, row), //$NON-NLS-1$
            template.getPanel(), cc.xy(4, row));
    row += 2;
    pb.add(jdbcPanel, cc.xyw(2, row, 3));

    tabbedPane.addTab(Messages.getString("DataSourceTypeEditorPanel.generalTab"), pb.getPanel()); //$NON-NLS-1$

    panel = new JPanel(new BorderLayout());
    panel.add(tabbedPane, BorderLayout.CENTER);

    ButtonBarBuilder copyBar = new ButtonBarBuilder();
    copyBar.addGlue();
    copyBar.addGridded(copyPropertiesButton);
    panel.add(copyBar.getPanel(), BorderLayout.SOUTH);
}

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. ja  va  2  s . 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  . co 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();
}