List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder DefaultFormBuilder
public DefaultFormBuilder(FormLayout layout)
From source file:ca.sqlpower.architect.swingui.PreferencesEditor.java
License:Open Source License
private JPanel createLabelPanel(ArchitectSwingSession session) { FormLayout layout = new FormLayout("pref:grow, pref, pref:grow", "pref"); //$NON-NLS-1$ //$NON-NLS-2$ DefaultFormBuilder fb = new DefaultFormBuilder(layout); JLabel label = new JLabel(); label.setText((session.isEnterpriseSession() ? "Enterprise Server JDBCDrivers on " + ((ArchitectSwingSessionImpl) session).getServerName() : "Local JDBCDrivers")); label.setFont(new Font("Arial", Font.BOLD, 18)); label.setIcon((session.isEnterpriseSession() ? SERVER_JDBCDRIVER_ICON : LOCAL_JDBCDRIVER_ICON)); fb.add(label, "2, 1"); return fb.getPanel(); }
From source file:ca.sqlpower.architect.swingui.UserRepositoryDirectoryChooser.java
License:Open Source License
/** * This method allows the selection of the directory. Null is returned if the user cancelled. *///from w w w . j a va 2 s . c om public RepositoryDirectory selectDirectory(Repository repo) { final JDialog chooserDialog = new JDialog(parent); chooserDialog.setTitle(Messages.getString("UserRepositoryDirectoryChooser.selectRepositoryDialogTitle")); //$NON-NLS-1$ FormLayout layout = new FormLayout("10dlu, 2dlu, fill:pref:grow, 12dlu", "pref, fill:pref:grow, pref"); //$NON-NLS-1$ //$NON-NLS-2$ DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setDefaultDialogBorder(); builder.nextColumn(2); builder.append(Messages.getString("UserRepositoryDirectoryChooser.chooseDirectory")); //$NON-NLS-1$ builder.nextLine(); DefaultMutableTreeNode root = populateTree(repo.getDirectoryTree()); final JTree tree = new JTree(root); builder.append(""); //$NON-NLS-1$ JScrollPane scrollPane = new JScrollPane(tree); scrollPane.setPreferredSize(new Dimension(200, 350)); builder.append(scrollPane); ButtonBarBuilder buttonBar = new ButtonBarBuilder(); buttonBar.addGlue(); JButton okButton = new JButton(Messages.getString("UserRepositoryDirectoryChooser.okOption")); //$NON-NLS-1$ okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (tree.getSelectionPath() == null) { return; } directory = (RepositoryDirectory) ((DefaultMutableTreeNode) tree.getSelectionPath() .getLastPathComponent()).getUserObject(); chooserDialog.dispose(); } }); buttonBar.addGridded(okButton); buttonBar.addRelatedGap(); JButton cancelButton = new JButton(Messages.getString("UserRepositoryDirectoryChooser.cancelOption")); //$NON-NLS-1$ cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { directory = null; chooserDialog.dispose(); } }); buttonBar.addGridded(cancelButton); builder.nextLine(); builder.append(""); //$NON-NLS-1$ builder.add(buttonBar.getPanel()); chooserDialog.add(builder.getPanel()); chooserDialog.setModal(true); Runnable promptUser = new Runnable() { public void run() { chooserDialog.pack(); chooserDialog.setLocationRelativeTo(parent); chooserDialog.setVisible(true); } }; if (SwingUtilities.isEventDispatchThread()) { promptUser.run(); } else { try { SwingUtilities.invokeAndWait(promptUser); } catch (InterruptedException e) { ASUtils.showExceptionDialogNoReport(parent, "While queing the dialog's pack, setVisible and setLocation, we were interrupted", e); //$NON-NLS-1$ } catch (InvocationTargetException e) { ASUtils.showExceptionDialogNoReport(parent, "While queing the dialog's pack, setVisible and setLocation, an InvocationTargetException was thrown", //$NON-NLS-1$ e); } } return directory; }
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 ww . j av a 2 s .co m 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.data.CommonWordsFinderPanel.java
License:Open Source License
public CommonWordsFinderPanel(final MatchMakerSwingSession session, SPDataSource defaultConnection) { this.session = session; DataSourceCollection dataSources = session.getContext().getPlDotIni(); final JComboBox connectionChooser = new JComboBox(new ConnectionComboBoxModel(dataSources)); connectionChooser.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { JDBCDataSource ds = (JDBCDataSource) connectionChooser.getSelectedItem(); // Gets the session's shared SQLDatabase for this data source SQLDatabase db = session.getDatabase(ds); // XXX don't know if this is going to reparent the shared database in a bad way! SQLObjectRoot root = new SQLObjectRoot(); root.addChild(db);// w ww . j av a 2 s. c o m DBTreeModel model = new DBTreeModel(root); columnPicker.setModel(model); } catch (SQLObjectException ex) { throw new RuntimeException(ex); } } }); columnPicker = new JTree(); DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("pref:grow")); builder.append("Choose a column to analyze for frequently-occurring words:"); builder.append(connectionChooser); builder.append(new JScrollPane(columnPicker)); JDefaultButton okButton = new JDefaultButton("Start"); JButton cancelButton = new JButton("Cancel"); builder.append(ButtonBarFactory.buildOKCancelBar(okButton, cancelButton)); panel = builder.getPanel(); }
From source file:ca.sqlpower.matchmaker.swingui.engine.AddressValidationSettingsPanel.java
License:Open Source License
private void buildUI() { FormLayout validationSettingsLayout = new FormLayout("pref"); DefaultFormBuilder dfb = new DefaultFormBuilder(validationSettingsLayout); dfb.append("Address Filter Setting"); dfb.nextLine();/*from www .j a v a 2s . c o m*/ valid = new JCheckBox("Include all valid addresses"); if (settings.getPoolFilterSetting() == PoolFilterSetting.EVERYTHING || settings.getPoolFilterSetting() == PoolFilterSetting.VALID_ONLY || settings.getPoolFilterSetting() == PoolFilterSetting.VALID_OR_DIFFERENT_FORMAT || settings.getPoolFilterSetting() == PoolFilterSetting.VALID_OR_INVALID) { valid.setSelected(true); } dfb.append(valid); dfb.nextLine(); differentFormat = new JCheckBox("Include all valid addresses with different formatting"); if (settings.getPoolFilterSetting() == PoolFilterSetting.EVERYTHING || settings.getPoolFilterSetting() == PoolFilterSetting.INVALID_OR_DIFFERENT_FORMAT || settings.getPoolFilterSetting() == PoolFilterSetting.VALID_OR_DIFFERENT_FORMAT || settings.getPoolFilterSetting() == PoolFilterSetting.DIFFERENT_FORMAT_ONLY) { differentFormat.setSelected(true); } dfb.append(differentFormat); dfb.nextLine(); invalid = new JCheckBox("Include all invalid addresses"); if (settings.getPoolFilterSetting() == PoolFilterSetting.EVERYTHING || settings.getPoolFilterSetting() == PoolFilterSetting.INVALID_OR_DIFFERENT_FORMAT || settings.getPoolFilterSetting() == PoolFilterSetting.VALID_OR_INVALID || settings.getPoolFilterSetting() == PoolFilterSetting.INVALID_ONLY) { invalid.setSelected(true); } dfb.append(invalid); dfb.nextLine(); dfb.appendUnrelatedComponentsGapRow(); dfb.nextLine(); dfb.append("Auto-correction Setting"); ButtonGroup autoValidateButtonGroup = new ButtonGroup(); dfb.nextLine(); avcNothingRB = new JRadioButton(AutoValidateSetting.NOTHING.getLongDescription()); if (settings.getAutoValidateSetting() == AutoValidateSetting.NOTHING) { avcNothingRB.setSelected(true); } dfb.append(avcNothingRB); autoValidateButtonGroup.add(avcNothingRB); dfb.nextLine(); avcSerpCorrectableRB = new JRadioButton(AutoValidateSetting.SERP_CORRECTABLE.getLongDescription()); if (settings.getAutoValidateSetting() == AutoValidateSetting.SERP_CORRECTABLE) { avcSerpCorrectableRB.setSelected(true); } dfb.append(avcSerpCorrectableRB); autoValidateButtonGroup.add(avcSerpCorrectableRB); dfb.nextLine(); avcEverythingWithOneSuggestionRB = new JRadioButton( AutoValidateSetting.EVERYTHING_WITH_ONE_SUGGESTION.getLongDescription()); if (settings.getAutoValidateSetting() == AutoValidateSetting.EVERYTHING_WITH_ONE_SUGGESTION) { avcEverythingWithOneSuggestionRB.setSelected(true); } dfb.append(avcEverythingWithOneSuggestionRB); autoValidateButtonGroup.add(avcEverythingWithOneSuggestionRB); dfb.nextLine(); avcEverythingWithSuggestionRB = new JRadioButton( AutoValidateSetting.EVERYTHING_WITH_SUGGESTION.getLongDescription()); if (settings.getAutoValidateSetting() == AutoValidateSetting.EVERYTHING_WITH_SUGGESTION) { avcEverythingWithSuggestionRB.setSelected(true); } dfb.append(avcEverythingWithSuggestionRB); autoValidateButtonGroup.add(avcEverythingWithSuggestionRB); panel = dfb.getPanel(); }
From source file:ca.sqlpower.matchmaker.swingui.LabelPane.java
License:Open Source License
/** * This method sets up the color chooser that is used on every component in * this label./* www . j av a 2s. c o m*/ */ private void setUpColorChanger() { colorChanger = new JDialog((JFrame) mp.getTopLevelAncestor().getParent(), true); colorPanel = new JColorChooser(getBackground()); FormLayout layout = new FormLayout("default", "default, default"); DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setDefaultDialogBorder(); colorChanger.setLayout(new BorderLayout()); builder.add(colorPanel); JButton ok = new JButton("Ok"); JButton cancel = new JButton("Cancel"); JPanel okCancelBar = ButtonBarFactory.buildOKCancelBar(ok, cancel); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { colorChanger.setVisible(false); } }); ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Color lastColorChosen = colorPanel.getColor(); Component comp = currentComponent; if (comp == null) { logger.error( "Why was this null?!?! check the " + "generateColorSelectSubMenu method and make sure " + "the component is being set before we get here"); } else if (comp instanceof LabelPane) { comp.setBackground(lastColorChosen); for (JTextArea a : textAreaList) { a.setBackground(lastColorChosen); } } else { comp.setForeground(lastColorChosen); } colorChanger.setVisible(false); } }); builder.nextRow(); builder.add(okCancelBar); colorChanger.getContentPane().add(builder.getPanel()); colorChanger.pack(); colorChanger.setLocationRelativeTo(this); }
From source file:ca.sqlpower.matchmaker.swingui.munge.AddressCorrectionMungeComponent.java
License:Open Source License
@Override protected JPanel buildUI() { if (addressDataRequired != null) { addressDataRequired.removeMouseListener(HyperlinkTextSelectedListener); }//from ww w . ja v a2 s .c o m if (HyperlinkTextSelectedListener == null) { HyperlinkTextSelectedListener = new MouseAdapter() { public void mouseEntered(MouseEvent e) { setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); } public void mousePressed(MouseEvent e) { try { BrowserUtil.launch(addressDataURL); } catch (IOException e1) { SPSUtils.showExceptionDialogNoReport(AddressCorrectionMungeComponent.this, "Invalid URL", e1); } } public void mouseExited(MouseEvent e) { setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); } }; } DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("center:pref:grow", "fill:pref, pref")); addressDataURL = "http://www.sqlpower.ca/page/dqguru_address_data"; addressDataRequired = new JLabel( "<html> <p align =\"center\">You cannot continue without having a valid address database to compare against!<br> Please set the path to your address database in the User Preferences... <br> To purchase one, click on the following link:<br> <a href=\"" + addressDataURL + "\">http://www.sqlpower.ca/page/dqguru_address_data</a><html>"); addressDataRequired.addMouseListener(HyperlinkTextSelectedListener); builder.add(addressDataRequired); builder.nextLine(); addressDataRequired.setVisible(false); if (!((AddressCorrectionMungeStep) getStep()).doesDatabaseExist()) { addressDataRequired.setVisible(true); } showAllButton = new JButton(new HideShowAllLabelsAction("Show All", true, true, true)); hideAllButton = new JButton(new HideShowAllLabelsAction("Hide All", true, true, false)); JPanel content = new JPanel(new FlowLayout()); content.add(showAllButton); content.add(hideAllButton); builder.append(content); setOutputShowNames(true); setInputShowNames(true); return builder.getPanel(); }
From source file:ca.sqlpower.matchmaker.swingui.munge.ConcatMungeComponent.java
License:Open Source License
@Override protected JPanel buildUI() { ConcatMungeStep step = (ConcatMungeStep) getStep(); addInputButton = new JButton(new AddInputAction("Add Input")); removeInputsButton = new JButton(new RemoveUnusedInputAction("Clean Up")); delimiterField = new JTextField(step.getDelimiter()); delimiterField.getDocument().addDocumentListener(new DocumentListener() { public void insertUpdate(DocumentEvent e) { doStuff();/*from w ww.j a va 2 s . c o m*/ } public void removeUpdate(DocumentEvent e) { doStuff(); } public void changedUpdate(DocumentEvent e) { doStuff(); } private void doStuff() { ConcatMungeStep step = (ConcatMungeStep) getStep(); step.setDelimiter(delimiterField.getText()); } }); FormLayout fl = new FormLayout("pref:grow,4dlu,pref:grow"); DefaultFormBuilder b = new DefaultFormBuilder(fl); b.append("Delimiter", delimiterField); b.append(ButtonBarFactory.buildAddRemoveBar(addInputButton, removeInputsButton), 3); content = b.getPanel(); return content; }
From source file:ca.sqlpower.matchmaker.swingui.munge.CSVWriterMungeComponent.java
License:Open Source License
@Override protected JPanel buildUI() { final CSVWriterMungeStep step = (CSVWriterMungeStep) getStep(); addInputButton = new JButton(new AddInputAction("Add Input")); removeInputsButton = new JButton(new RemoveUnusedInputAction("Clean Up")); separatorField = new JTextField(step.getSeparator() + "", 1); getHandler().addValidateObject(separatorField, new CharacterValidator("separator")); separatorField.getDocument().addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent e) { doStuff();// w w w . ja v a 2 s . c o m } public void insertUpdate(DocumentEvent e) { doStuff(); } public void removeUpdate(DocumentEvent e) { doStuff(); } private void doStuff() { if (separatorField.getText().length() == 1) { step.setSeparator(separatorField.getText().charAt(0)); } } }); quoteField = new JTextField(step.getQuoteChar() + "", 1); getHandler().addValidateObject(quoteField, new CharacterValidator("quote")); quoteField.getDocument().addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent e) { doStuff(); } public void insertUpdate(DocumentEvent e) { doStuff(); } public void removeUpdate(DocumentEvent e) { doStuff(); } private void doStuff() { if (quoteField.getText().length() == 1) { step.setQuoteChar(quoteField.getText().charAt(0)); } } }); escapeField = new JTextField(step.getEscapeChar() + "", 1); getHandler().addValidateObject(escapeField, new CharacterValidator("escape")); escapeField.getDocument().addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent e) { doStuff(); } public void insertUpdate(DocumentEvent e) { doStuff(); } public void removeUpdate(DocumentEvent e) { doStuff(); } private void doStuff() { if (escapeField.getText().length() == 1) { step.setEscapeChar(escapeField.getText().charAt(0)); } } }); filePathField = new JTextField(step.getFilePath(), 20); getHandler().addValidateObject(filePathField, new FileNameValidator("Output")); filePathField.getDocument().addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent e) { doStuff(); } public void insertUpdate(DocumentEvent e) { doStuff(); } public void removeUpdate(DocumentEvent e) { doStuff(); } private void doStuff() { step.setFilePath(filePathField.getText()); } }); fileChooser = new JFileChooser(); fileButton = new JButton(new AbstractAction("...") { public void actionPerformed(ActionEvent e) { if (fileChooser.showSaveDialog(CSVWriterMungeComponent.this) == JFileChooser.APPROVE_OPTION) { filePathField.setText(fileChooser.getSelectedFile().getAbsolutePath()); } } }); clrFileCheckBox = new JCheckBox(); clrFileCheckBox.setSelected(step.getClearFile()); clrFileCheckBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { step.setClearFile(clrFileCheckBox.isSelected()); } }); FormLayout fl = new FormLayout("pref:grow,4dlu,pref:grow"); DefaultFormBuilder b = new DefaultFormBuilder(fl); b.append(filePathField, fileButton); b.append("Separator", separatorField); b.append("Quote Char", quoteField); b.append("Escape Char", escapeField); b.append("Clear File", clrFileCheckBox); b.append(ButtonBarFactory.buildAddRemoveBar(addInputButton, removeInputsButton), 3); content = b.getPanel(); return content; }
From source file:ca.sqlpower.matchmaker.swingui.munge.DateConstantMungeComponent.java
License:Open Source License
@Override protected JPanel buildUI() { final DateConstantMungeStep step = (DateConstantMungeStep) getStep(); Date value;// www.j a v a 2 s. c o m try { value = ((DateConstantMungeStep) getStep()).getValueAsDate(); } catch (ParseException e) { SPSUtils.showExceptionDialogNoReport(getPen(), "Error Loading munge step", e); value = null; } if (value == null) { value = new Date(); ((DateConstantMungeStep) getStep()).setValueAsDate(value); } dc = new SpinnerDateModel(value, null, null, Calendar.SECOND); date = new JSpinner(dc); editor = new JSpinner.DateEditor(date, getFormateString()); date.setEditor(editor); getHandler().addValidateObject(date, new DateValidator()); dc.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { setDate(); } }); retNull = new JCheckBox("Return null"); retNull.addActionListener(new AbstractAction() { public void actionPerformed(ActionEvent e) { boolean b = retNull.isSelected(); if (b) { useCurrent.setEnabled(false); useCurrent.setSelected(false); date.setEnabled(false); opts.setEnabled(!retNull.isSelected()); } else if (!useCurrent.isSelected()) { date.setEnabled(true); useCurrent.setEnabled(true); opts.setEnabled(!retNull.isSelected()); } step.setReturnNull(b); } }); useCurrent = new JCheckBox("Use Time of engine run"); useCurrent.addActionListener(new AbstractAction() { public void actionPerformed(ActionEvent e) { boolean b = useCurrent.isSelected(); if (b) { retNull.setEnabled(false); retNull.setSelected(false); date.setEnabled(false); opts.setEnabled(!retNull.isSelected()); } else if (!retNull.isSelected()) { date.setEnabled(true); opts.setEnabled(!retNull.isSelected()); retNull.setEnabled(true); } step.setUseCurrentTime(b); } }); retNull.setSelected(step.isReturnNull()); if (retNull.isSelected()) { useCurrent.setEnabled(false); } useCurrent.setSelected(step.getUseCurrentTime()); if (useCurrent.isSelected()) { retNull.setEnabled(false); } date.setEnabled(!retNull.isSelected() && !useCurrent.isSelected()); opts = new JComboBox(DateConstantMungeStep.FORMAT.toArray()); opts.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { step.setDateFormat((String) opts.getSelectedItem()); date.setEditor(new JSpinner.DateEditor(date, getFormateString())); } }); opts.setSelectedItem(step.getDateFormat()); opts.setEnabled(!retNull.isSelected()); FormLayout layout = new FormLayout("pref,4dlu,pref:grow"); DefaultFormBuilder fb = new DefaultFormBuilder(layout); fb.append("Value:", date); fb.append("Format", opts); fb.append("", retNull); fb.append("", useCurrent); return fb.getPanel(); }