List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder append
public JLabel append(String textWithMnemonic)
From source file:ca.sqlpower.swingui.db.DataSourceTypeCopyPropertiesPanel.java
License:Open Source License
private JPanel buildUI() { DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref")); builder.setDefaultDialogBorder();/*from ww w. j a v a2s .c o m*/ builder.append(new JLabel("Copy all properties from which data source type?")); builder.append(dsTypesComboBox); builder.append(new JLabel("Note: This will overwrite all current settings on " + dsType.getName() + ".")); return builder.getPanel(); }
From source file:ca.sqlpower.swingui.db.NewDataSourceTypePanel.java
License:Open Source License
private JPanel buildUI() { DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref")); builder.setDefaultDialogBorder();/*from ww w. j a v a 2s.c om*/ builder.append("New Data Source Type"); builder.append(blankOption); builder.append(copyOption); builder.append(existingDSTypes); return builder.getPanel(); }
From source file:ca.sqlpower.swingui.DialogUserPrompter.java
License:Open Source License
/** * Creates a new user prompter that uses a dialog to prompt the user. * Normally this constructor should be called via a {@link UserPrompterFactory} * such as the current ArchitectSession. *///from w w w . j a va 2s . c om public DialogUserPrompter(UserPromptOptions optionType, UserPromptResponse defaultResponseType, JFrame owner, String questionMessage, boolean modal, String... buttonNames) { if (optionType.getButtonCount() != buttonNames.length) { throw new IllegalStateException( "Expecting " + optionType.getButtonCount() + " arguments for the optionType " + optionType + "Recieved only " + buttonNames.length + "arguments\n" + Arrays.toString(buttonNames)); } this.defaultResponseType = defaultResponseType; this.owner = owner; applyToAll = new JCheckBox(Messages.getString("ModalDialogUserPrompter.applyToAllOption")); //$NON-NLS-1$ confirmDialog = new JDialog(owner); // FIXME the title needs to be configurable and/or set itself based on prompt type confirmDialog.setTitle(""); //$NON-NLS-1$ // this is just filled with the message pattern template to help with sizing //Using JEditorPane for html messages as JTextAreas do not respect html tags. //Using JTextArea for the rest of the messages as JEditorPane does not support //new line characters and to keep font consistent. if (questionMessage.startsWith("<html>")) { questionField = new JEditorPane(); questionField.setText(questionMessage); ((JEditorPane) questionField).setContentType("text/html"); questionField.setFont(new JTextArea().getFont()); } else { questionField = new JTextArea(questionMessage); } questionField.setEditable(false); questionField.setBackground(null); questionFormat = new MessageFormat(questionMessage); JPanel confirmPanel = new JPanel(); FormLayout formLayout = new FormLayout("10dlu, 2dlu, pref:grow, 2dlu, 10dlu" //$NON-NLS-1$ , ""); //$NON-NLS-1$ DefaultFormBuilder builder = new DefaultFormBuilder(formLayout, confirmPanel); builder.setDefaultDialogBorder(); builder.nextColumn(2); builder.append(questionField); builder.nextLine(); builder.appendParagraphGapRow(); builder.nextLine(); ButtonBarBuilder buttonBar = new ButtonBarBuilder(); buttonBar.addGlue(); JButton okButton = new JButton(); if (optionType == UserPromptOptions.OK_NEW_NOTOK_CANCEL || optionType == UserPromptOptions.OK_NOTOK_CANCEL || optionType == UserPromptOptions.OK_NEW_CANCEL || optionType == UserPromptOptions.OK_CANCEL || optionType == UserPromptOptions.OK) { okButton.setText(buttonNames[0]); buttonBar.addGridded(okButton); } JButton notOkButton = new JButton(); if (optionType == UserPromptOptions.OK_NEW_NOTOK_CANCEL || optionType == UserPromptOptions.OK_NOTOK_CANCEL) { buttonBar.addRelatedGap(); notOkButton .setText((optionType == UserPromptOptions.OK_NOTOK_CANCEL) ? buttonNames[1] : buttonNames[2]); buttonBar.addGridded(notOkButton); } JButton cancelButton = new JButton(); if (optionType == UserPromptOptions.OK_NEW_NOTOK_CANCEL || optionType == UserPromptOptions.OK_NOTOK_CANCEL || optionType == UserPromptOptions.OK_NEW_CANCEL || optionType == UserPromptOptions.OK_CANCEL) { buttonBar.addRelatedGap(); cancelButton.setText(buttonNames[buttonNames.length - 1]); buttonBar.addGridded(cancelButton); } buttonBar.addGlue(); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { response = UserPromptResponse.OK; confirmDialog.dispose(); } }); notOkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { response = UserPromptResponse.NOT_OK; confirmDialog.dispose(); } }); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { response = UserPromptResponse.CANCEL; confirmDialog.dispose(); } }); builder.append(""); //$NON-NLS-1$ builder.append(buttonBar.getPanel()); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(applyToAll); switch (defaultResponseType) { case OK: okButton.requestFocusInWindow(); break; case NOT_OK: notOkButton.requestFocusInWindow(); break; case CANCEL: cancelButton.requestFocusInWindow(); break; default: throw new UnsupportedOperationException( "Default response type : " + defaultResponseType + " is not known"); } confirmDialog.setModal(modal); confirmDialog.add(builder.getPanel()); }
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. * /*w w w . j a va2 s . co 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.//ww w . j a va2 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 w w . j a v a 2 s .c om*/ * @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.swingui.ModalDialogListUserPrompter.java
License:Open Source License
public ModalDialogListUserPrompter(JFrame parentFrame, String question, List<T> responses, T defaultResponse) { this.parentFrame = parentFrame; this.defaultResponse = defaultResponse; applyToAll = new JCheckBox(Messages.getString("ModalDialogUserPrompter.applyToAllOption")); //$NON-NLS-1$ confirmDialog = new JDialog(parentFrame); // FIXME the title needs to be configurable and/or set itself based on prompt type confirmDialog.setTitle(""); //$NON-NLS-1$ // this is just filled with the message pattern template to help with sizing questionField = new JTextArea(question); questionField.setEditable(false);//from w w w . jav a2 s. co m questionField.setBackground(null); questionFormat = new MessageFormat(question); JPanel confirmPanel = new JPanel(); FormLayout formLayout = new FormLayout("pref:grow" //$NON-NLS-1$ , ""); //$NON-NLS-1$ optionBox = new JComboBox(); for (T item : responses) { optionBox.addItem(item); } optionBox.setSelectedItem(defaultResponse); DefaultFormBuilder builder = new DefaultFormBuilder(formLayout, confirmPanel); builder.setDefaultDialogBorder(); builder.append(questionField); builder.nextLine(); builder.append(optionBox); builder.nextLine(); ButtonBarBuilder buttonBar = new ButtonBarBuilder(); buttonBar.addGlue(); JButton okButton = new JButton(); okButton.setText("Ok"); buttonBar.addGridded(okButton); buttonBar.addGlue(); okButton.addActionListener(new ActionListener() { @SuppressWarnings("unchecked") public void actionPerformed(ActionEvent e) { responseButton = UserPromptResponse.OK; response = (T) optionBox.getSelectedItem(); confirmDialog.dispose(); } }); builder.append(""); //$NON-NLS-1$ builder.append(buttonBar.getPanel()); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(applyToAll); okButton.requestFocusInWindow(); confirmDialog.setModal(true); confirmDialog.add(builder.getPanel()); }
From source file:ca.sqlpower.swingui.TextUserPrompter.java
License:Open Source License
/** * @param question/*from w w w .ja v a 2 s . c o m*/ * A question string that asks the user what the string to be * replaced should actually be. * @param defaultResponseType * The default button that will be highlighted. * @param defaultResponse * The default response to use if the user wants to click through * the dialog. This will be displayed as the editable default * text and must be a String object. * @param okName * The text that goes on the OK button. * @param cancelName * The text that goes on the cancel button. */ public TextUserPrompter(Window owner, String question, UserPromptResponse defaultResponseType, Object defaultResponse, String okName, String cancelName) { this.owner = owner; this.defaultResponseType = defaultResponseType; textField = new JTextField((String) defaultResponse); DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref")); builder.setDefaultDialogBorder(); builder.append(new JLabel(question)); builder.nextLine(); builder.append(textField); builder.nextLine(); final JButton okButton = new JButton(new AbstractAction(okName) { public void actionPerformed(ActionEvent e) { response = UserPromptResponse.OK; prompt.dispose(); } }); final JButton cancelButton = new JButton(new AbstractAction(cancelName) { public void actionPerformed(ActionEvent e) { response = UserPromptResponse.CANCEL; prompt.dispose(); } }); JPanel okCancelBar = ButtonBarFactory.buildOKCancelBar(okButton, cancelButton); builder.append(okCancelBar); prompt = new JDialog(owner); prompt.add(builder.getPanel()); }
From source file:ca.sqlpower.util.HTMLUserPrompter.java
License:Open Source License
/** * Creates a new user prompter that uses a dialog to prompt the user. The * question message is displayed in a {@link JEditorPane} so that it can be * displayed using styles via HTML. A {@link HyperlinkListener} can be * attached to this prompt to open hyperlinks. *//*w w w . j a v a 2s . c o m*/ public HTMLUserPrompter(UserPromptOptions optionType, UserPromptResponse defaultResponseType, JFrame owner, String questionMessage, boolean modal, HyperlinkListener hyperlinkListener, String... buttonNames) { if (optionType.getButtonCount() != buttonNames.length) { throw new IllegalStateException( "Expecting " + optionType.getButtonCount() + " arguments for the optionType " + optionType + "Received only " + buttonNames.length + "arguments\n" + Arrays.toString(buttonNames)); } this.defaultResponseType = defaultResponseType; this.owner = owner; applyToAll = new JCheckBox(Messages.getString("ModalDialogUserPrompter.applyToAllOption")); //$NON-NLS-1$ confirmDialog = new JDialog(owner); // FIXME the title needs to be configurable and/or set itself based on prompt type confirmDialog.setTitle(""); //$NON-NLS-1$ // this is just filled with the message pattern template to help with sizing questionField = new JEditorPane(); questionField.setEditorKit(new HTMLEditorKit()); questionField.setText(questionMessage); questionField.setEditable(false); questionField.setBackground(null); if (hyperlinkListener != null) { questionField.addHyperlinkListener(hyperlinkListener); } JPanel confirmPanel = new JPanel(); FormLayout formLayout = new FormLayout("10dlu, 2dlu, pref:grow, 2dlu, 10dlu" //$NON-NLS-1$ , ""); //$NON-NLS-1$ DefaultFormBuilder builder = new DefaultFormBuilder(formLayout, confirmPanel); builder.setDefaultDialogBorder(); builder.nextColumn(2); builder.append(questionField); builder.nextLine(); builder.appendParagraphGapRow(); builder.nextLine(); ButtonBarBuilder buttonBar = new ButtonBarBuilder(); buttonBar.addGlue(); JButton okButton = new JButton(); if (optionType == UserPromptOptions.OK_NEW_NOTOK_CANCEL || optionType == UserPromptOptions.OK_NOTOK_CANCEL || optionType == UserPromptOptions.OK_NEW_CANCEL || optionType == UserPromptOptions.OK_CANCEL || optionType == UserPromptOptions.OK) { okButton.setText(buttonNames[0]); buttonBar.addGridded(okButton); } JButton notOkButton = new JButton(); if (optionType == UserPromptOptions.OK_NEW_NOTOK_CANCEL || optionType == UserPromptOptions.OK_NOTOK_CANCEL) { buttonBar.addRelatedGap(); notOkButton .setText((optionType == UserPromptOptions.OK_NOTOK_CANCEL) ? buttonNames[1] : buttonNames[2]); buttonBar.addGridded(notOkButton); } JButton cancelButton = new JButton(); if (optionType == UserPromptOptions.OK_NEW_NOTOK_CANCEL || optionType == UserPromptOptions.OK_NOTOK_CANCEL || optionType == UserPromptOptions.OK_NEW_CANCEL || optionType == UserPromptOptions.OK_CANCEL) { buttonBar.addRelatedGap(); cancelButton.setText(buttonNames[buttonNames.length - 1]); buttonBar.addGridded(cancelButton); } buttonBar.addGlue(); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { response = UserPromptResponse.OK; confirmDialog.dispose(); } }); notOkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { response = UserPromptResponse.NOT_OK; confirmDialog.dispose(); } }); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { response = UserPromptResponse.CANCEL; confirmDialog.dispose(); } }); builder.append(""); //$NON-NLS-1$ builder.append(buttonBar.getPanel()); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.append(applyToAll); switch (defaultResponseType) { case OK: okButton.requestFocusInWindow(); break; case NOT_OK: notOkButton.requestFocusInWindow(); break; case CANCEL: cancelButton.requestFocusInWindow(); break; default: throw new UnsupportedOperationException( "Default response type : " + defaultResponseType + " is not known"); } confirmDialog.setModal(modal); confirmDialog.add(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. * /* ww w. j a va 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(); }