List of usage examples for com.jgoodies.forms.layout CellConstraints xyw
public CellConstraints xyw(int col, int row, int colSpan)
Examples:
cc.xyw(1, 3, 7); cc.xyw(1, 3, 2);
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(); }