List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder append
public JLabel append(String textWithMnemonic, Component component)
From source file:be.ac.ua.comp.scarletnebula.gui.addproviderwizard.ChooseNamePage.java
License:Open Source License
ChooseNamePage(final AddProviderWizardDataRecorder recorder) { setLayout(new BorderLayout()); final BetterTextLabel text = new BetterTextLabel( "What name would you like to use to describe this account with " + recorder.getTemplate().getName() + "?"); text.setBorder(BorderFactory.createEmptyBorder(10, 10, 20, 10)); add(text, BorderLayout.NORTH); // And the textfields below final FormLayout layout = new FormLayout("right:max(40dlu;p), 4dlu, max(50dlu;p):grow, 7dlu", ""); final DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setDefaultDialogBorder();//ww w . ja va2s . co m builder.append("Account Name", name); add(builder.getPanel()); // Prefill the textfield with something useful name.setText(recorder.getTemplate().getShortName() + (recorder.getEndpoint() != null ? " (" + recorder.getEndpoint().getShortName() + ")" : "")); name.setPreferredSize(name.getMinimumSize()); }
From source file:be.ac.ua.comp.scarletnebula.gui.addproviderwizard.ProvideAccessPage.java
License:Open Source License
public ProvideAccessPage(final AddProviderWizardDataRecorder rec) { setLayout(new BorderLayout()); final String toptext; if (rec.getTemplate().getAccessMethod() == AccessMethod.KEY) { toptext = "Please enter the API Access Key that identifies your account and the API Secret that represents your password."; } else {/*from w w w.j a v a 2s. com*/ toptext = "Enter the email address and password you used to register with " + rec.getTemplate().getName() + "."; } // The text on top final BetterTextLabel txt = new BetterTextLabel(toptext); txt.setBorder(BorderFactory.createEmptyBorder(10, 10, 20, 10)); // And the textfields below final FormLayout layout = new FormLayout("right:max(40dlu;p), 4dlu, max(50dlu;p):grow", ""); final DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setDefaultDialogBorder(); final String loginLabel; final String passwordLabel; if (rec.getTemplate().getAccessMethod() == AccessMethod.KEY) { loginLabel = "API Key"; passwordLabel = "API Secret"; } else { loginLabel = "Email address"; passwordLabel = "Password"; } builder.append(loginLabel, apiKey); builder.nextLine(); builder.append(passwordLabel, apiSecret); add(txt, BorderLayout.NORTH); add(builder.getPanel()); }
From source file:be.ac.ua.comp.scarletnebula.gui.addserverwizard.FinalServerAddPage.java
License:Open Source License
public FinalServerAddPage(final AddServerWizardDataRecorder rec) { super(new BorderLayout()); final BetterTextLabel lbl = new BetterTextLabel( "<html><font size=\"4\">Press <b><font color=\"green\">Finish</font></b> to start the server.</font>"); lbl.setBorder(BorderFactory.createEmptyBorder(20, 20, 10, 20)); lbl.setAlignmentX(CENTER_ALIGNMENT); add(lbl, BorderLayout.NORTH); instanceNameField.setInputVerifier(new ServernameInputVerifier(instanceNameField)); instanceNameField.setText(rec.provider.getName() + "-" + rec.provider.listLinkedServers().size()); instanceNameField.selectAll();/*from w w w. j av a2 s.c o m*/ final FormLayout layout = new FormLayout("right:max(40dlu;p):grow, 7dlu, max(80dlu;p):grow", ""); final DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setDefaultDialogBorder(); builder.append("Instance Name", instanceNameField); builder.nextLine(); instanceCountTextField .setInputVerifier(new NumberInputVerifier(instanceCountTextField, "Only number allowed.")); builder.append("Nr of instances to start", new LabelEditSwitcherPanel("1", instanceCountTextField)); vlanField.setInputVerifier(new PlainTextVerifier(vlanField, "Only plain text allowed.")); // builder.append("VLAN id", new LabelEditSwitcherPanel("(None)", // vlanField)); if (rec.provider.supportsSSHKeys()) { rec.keypairOrPassword = rec.provider.getDefaultKeypair(); final ChangeableLabel sshKeyLabel = new ChangeableLabel(rec.keypairOrPassword, new Executable<JLabel>() { @Override public void run(final JLabel param) { new SelectKeyWindow((JDialog) Utils.findWindow(FinalServerAddPage.this), rec.provider) { private static final long serialVersionUID = 1L; @Override public void onOk(final String keyname) { if (!keyname.isEmpty()) { rec.keypairOrPassword = keyname; param.setText(keyname); dispose(); } else { JOptionPane.showMessageDialog(this, "Please select a key", "Select Key", JOptionPane.ERROR_MESSAGE); } } }; } }); builder.append("SSH Key", sshKeyLabel); } final JPanel panel = builder.getPanel(); panel.setBorder(BorderFactory.createEmptyBorder(50, 20, 20, 80)); add(panel, BorderLayout.CENTER); addToFavoritesBox.setBorder(BorderFactory.createEmptyBorder(0, 20, 10, 20)); if (rec.provider.imageInFavorites(rec.image)) { addToFavoritesBox.setSelected(false); addToFavoritesBox.setEnabled(false); } else { addToFavoritesBox.setSelected(true); } add(addToFavoritesBox, BorderLayout.SOUTH); }
From source file:be.ac.ua.comp.scarletnebula.gui.keywizards.SelectNewKeynamePage.java
License:Open Source License
public SelectNewKeynamePage(final CloudProvider provider) { super(new BorderLayout()); final BetterTextLabel toptext = new BetterTextLabel( "Choose a name for the SSH key you'll use to establish SSH connections to servers."); toptext.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); namefield.setInputVerifier(new PlainTextVerifier(namefield, "An SSH key name must be at least 1 character long and may only contain letters and digits.")); final String username = System.getProperty("user.name"); namefield.setText((username != null ? username : "default") + "key"); final FormLayout layout = new FormLayout("right:max(40dlu;p), 4dlu, min(50dlu;p):grow", ""); final DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setDefaultDialogBorder();/* w w w. ja v a 2s . co m*/ builder.append("Name", namefield); final JPanel namepanel = builder.getPanel(); namepanel.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 20)); add(namepanel, BorderLayout.CENTER); add(toptext, BorderLayout.NORTH); this.provider = provider; }
From source file:be.ac.ua.comp.scarletnebula.gui.windows.AddFirewallRuleWindow.java
License:Open Source License
public AddFirewallRuleWindow(final JDialog parent, final CloudProvider provider, final Firewall firewall) { super(parent, "Add Rule", true); this.firewall = firewall; setLayout(new BorderLayout()); setSize(400, 250);/*from w w w . ja v a 2 s .c o m*/ setLocationRelativeTo(null); setLocationByPlatform(true); final FormLayout layout = new FormLayout("right:max(40dlu;p), 4dlu, min(50dlu;p):grow", ""); // add rows dynamically final DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setDefaultDialogBorder(); builder.appendSeparator("New Rule"); portRangeField.setInputVerifier(new PortRangeInputVerifier(portRangeField)); builder.append("Port range", portRangeField); builder.append("Protocol", protocolDropdown); builder.append("IP", ipField); final JPanel mainPanel = new JPanel(new BorderLayout()); mainPanel.add(builder.getPanel(), BorderLayout.CENTER); final JLabel bottomLabel = new JLabel( "<html><font size=\"6pt\" color=\"#657383\">Note: Use the IP address 0.0.0.0/0 to allow " + "traffic from and to everyone. </font></html>"); bottomLabel.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10)); mainPanel.add(bottomLabel, BorderLayout.PAGE_END); add(mainPanel, BorderLayout.CENTER); final JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS)); buttonPanel.add(Box.createHorizontalGlue()); final JButton cancelButton = ButtonFactory.createCancelButton(); cancelButton.addActionListener(new CancelActionListener()); buttonPanel.add(cancelButton); buttonPanel.add(Box.createHorizontalStrut(5)); final JButton okButton = ButtonFactory.createOkButton(); okButton.addActionListener(new OkActionListener()); buttonPanel.add(okButton); buttonPanel.add(Box.createHorizontalStrut(10)); buttonPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); add(buttonPanel, BorderLayout.PAGE_END); }
From source file:be.ac.ua.comp.scarletnebula.gui.windows.ChangeServerSshLoginMethodWindow.java
License:Open Source License
public ChangeServerSshLoginMethodWindow(final JDialog parent, final Server server) { super(parent, "Change login method", true); setSize(400, 350);// w w w . ja v a2 s .c o m setDefaultCloseOperation(DISPOSE_ON_CLOSE); setLocationRelativeTo(null); setLocationByPlatform(true); this.server = server; final char standardEchoChar = normalPassword.getEchoChar(); normalPassword.addMouseListener(new MouseListener() { @Override public void mouseReleased(final MouseEvent e) { } @Override public void mousePressed(final MouseEvent e) { } @Override public void mouseExited(final MouseEvent e) { normalPassword.setEchoChar(standardEchoChar); } @Override public void mouseEntered(final MouseEvent e) { normalPassword.setEchoChar('\0'); } @Override public void mouseClicked(final MouseEvent e) { } }); useLoginButton.setMnemonic(KeyEvent.VK_P); useLoginButton.setBorder(BorderFactory.createEmptyBorder(0, 15, 0, 0)); useKeyButton.setMnemonic(KeyEvent.VK_K); useKeyButton.setBorder(BorderFactory.createEmptyBorder(0, 15, 0, 0)); // Group the radio buttons. radioButtonGroup.add(useLoginButton); radioButtonGroup.add(useKeyButton); getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.PAGE_AXIS)); final BetterTextLabel topText = new BetterTextLabel( "<html>Select the default way of logging into this server. " + "<font color=\"red\">Warning: </font>the server itself needs to be configured to accept this login method.</html>"); topText.setAlignmentX(Component.LEFT_ALIGNMENT); topText.setBorder(BorderFactory.createEmptyBorder(15, 15, 10, 15)); final String layoutString = "right:max(40dlu;p), 4dlu, max(20dlu;p):grow, 7dlu:grow"; final FormLayout layout = new FormLayout(layoutString, ""); // add rows dynamically final DefaultFormBuilder loginPanelsBuilder = new DefaultFormBuilder(layout); loginPanelsBuilder.setDefaultDialogBorder(); loginPanelsBuilder.append("Username", normalUsername); loginPanelsBuilder.nextLine(); loginPanelsBuilder.append("Password", normalPassword); final JPanel loginPanel = loginPanelsBuilder.getPanel(); loginPanel.setAlignmentX(Component.LEFT_ALIGNMENT); loginPanel.setBorder(BorderFactory.createEmptyBorder(0, 40, 0, 0)); final FormLayout layout2 = new FormLayout(layoutString, ""); final DefaultFormBuilder keyPanelsBuilder = new DefaultFormBuilder(layout2); keyPanelsBuilder.setDefaultDialogBorder(); keyPanelsBuilder.append("Username", keyUsername); keyPanelsBuilder.nextLine(); final Collection<String> keynames = KeyManager.getKeyNames(server.getCloud().getName()); keypairCombo = new JComboBox(keynames.toArray(new String[0])); keyPanelsBuilder.append("Keypair", keypairCombo); final JPanel keyPanel = keyPanelsBuilder.getPanel(); keyPanel.setAlignmentX(Component.LEFT_ALIGNMENT); keyPanel.setBorder(BorderFactory.createEmptyBorder(0, 40, 0, 0)); final UsePasswordButtonActionListener usePasswordButtonActionListener = new UsePasswordButtonActionListener(); useLoginButton.addActionListener(usePasswordButtonActionListener); final UseKeyButtonActionListener useKeyButtonActionListener = new UseKeyButtonActionListener(); useKeyButton.addActionListener(useKeyButtonActionListener); if (server.usesSshPassword()) { useLoginButton.setSelected(true); usePasswordButtonActionListener.actionPerformed(null); } else { useKeyButton.setSelected(true); useKeyButtonActionListener.actionPerformed(null); } add(topText); add(useLoginButton); add(Box.createVerticalStrut(5)); add(loginPanel); add(useKeyButton); add(Box.createVerticalStrut(5)); add(keyPanel); add(Box.createVerticalGlue()); final JPanel buttonPanel = getButtonPanel(); add(buttonPanel); add(Box.createVerticalStrut(15)); prefillTextfields(server); }
From source file:be.ac.ua.comp.scarletnebula.gui.windows.ServerPropertiesWindow.java
License:Open Source License
private void createOverviewPanel(final Collection<Server> servers) { overviewTab.setLayout(new BorderLayout()); final FormLayout layout = new FormLayout("right:max(40dlu;p), 4dlu, min(50dlu;p):grow, 7dlu, " + "right:max(40dlu;p), 4dlu, min(50dlu;p):grow", ""); // add rows dynamically final DefaultFormBuilder builder = new DefaultFormBuilder(layout); builder.setDefaultDialogBorder();//from w ww . jav a 2 s . com builder.appendSeparator("General Information"); Component servernameComponent = null; Component servertagComponent = null; Component sshLoginMethodComponent = null; Component providerComponent = null; Component vncComponent = null; Component statisticsCommandComponent = null; if (servers.size() == 1) { final Server server = servers.iterator().next(); servernameComponent = getSingleServerServerNameComponent(server); servertagComponent = getSingleServerTagComponent(server); sshLoginMethodComponent = getSingleServerSshLoginMethodComponent(server); providerComponent = getSingleProviderComponent(server); vncComponent = getSingleVNCComponent(server); statisticsCommandComponent = getSingleStatisticsCommandComponent(server); } else { servernameComponent = getMultipleServerServerNameComponent(servers); servertagComponent = getMultipleServerTagComponent(servers); sshLoginMethodComponent = new JLabel("..."); providerComponent = getMultipleServersProviderComponent(servers); vncComponent = new JLabel("..."); statisticsCommandComponent = new JLabel("..."); } builder.append("Name", servernameComponent); builder.append("Tags", servertagComponent); builder.nextLine(); builder.append("SSH Login", sshLoginMethodComponent); builder.append("Statistics Command", statisticsCommandComponent); builder.nextLine(); builder.append("Provider", providerComponent); builder.append("VNC Password", vncComponent); builder.nextLine(); builder.append("Architecture", architectureLabel); builder.append("Platform", platformLabel); builder.nextLine(); builder.append("DNS Address", dnsLabel); builder.append("IP Address", ipLabel); builder.nextLine(); builder.append("Status", statusLabel); builder.nextLine(); builder.appendSeparator("Cloud Specific Information"); builder.append("Name", unfriendlyNameLabel); builder.append("Size", sizeLabel); builder.nextLine(); builder.append("Image", imageLabel); builder.nextLine(); final JScrollPane bodyScrollPane = new JScrollPane(builder.getPanel()); bodyScrollPane.setBorder(null); overviewTab.add(bodyScrollPane); }
From source file:br.com.loja.view.swing.PanelEntity.java
public JPanel getPanel(Class<? extends Switchable> entityClass) { DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("")); builder.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); builder.appendColumn("right:pref"); builder.appendColumn("3dlu"); builder.appendColumn("fill:max(pref; 180px)"); builder.appendSeparator(entityClass.getSimpleName()); for (Field f : ReflectionUtil.getAllFields(entityClass)) { if (!isMappable(f)) { continue; }//w ww.j a va 2 s.co m ComponentFactoryOld factory = new ComponentFactoryOld(f, serviceFactory); Component component = factory.getComponent(); if (component != null) { if (component instanceof JTable) { JScrollPane scrollPane = new JScrollPane(); scrollPane.setName("List " + component.getName()); scrollPane.setPreferredSize(new Dimension(180, 240)); scrollPane.setViewportView(component); builder.nextLine(); builder.append(scrollPane.getName(), scrollPane); } else { builder.nextLine(); builder.append(component.getName(), component); } } } return builder.getPanel(); }
From source file:br.com.loja.view.swing.PanelEntityEditor.java
private JPanel getPanelEntity() throws ServiceException { DefaultFormBuilder builder = new DefaultFormBuilder(new FormLayout("")); builder.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); builder.appendColumn("right:pref"); builder.appendColumn("3dlu"); builder.appendColumn("fill:max(pref; 180px)"); builder.appendSeparator(entityClass.getSimpleName()); for (Field field : ReflectionUtil.getAllFields(entityClass)) { if (!isMappable(field)) { continue; }//from ww w .ja va2 s . c o m ComponentFactory factory = new ComponentProducer(field).getComponentFactory(); Component component = factory.getComponent(); if (component != null) { component.setName(field.getName()); component = buildScrollPane(component); builder.nextLine(); builder.append(component.getName(), component); if (Collection.class.isAssignableFrom(field.getType())) { addCardPanel(getPanelEditor(field), field.getName()); } } } JPanel panel = builder.getPanel(); panel.setName(entityClass.getSimpleName()); componentsAttributes = ComponentUtil.getComponents(panel); return panel; }
From source file:brainflow.app.presentation.ColorGradientEditor.java
private void initLayout() { JPanel mainPanel = new JPanel(); FormLayout layout = new FormLayout("l:p:g, 12dlu, l:p, 3dlu, p:g"); DefaultFormBuilder builder = new DefaultFormBuilder(layout, mainPanel); layout.setColumnGroups(new int[][] { { 2, 4 } }); builder.setLineGapSize(Sizes.dluX(8)); builder.appendSeparator("Preview"); colorBar = colorMap.createColorBar(); colorBar.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED)); builder.append(colorBar, 5); builder.appendSeparator("Colors"); builder.nextLine();//from w w w . j a va2s .c om builder.setDefaultDialogBorder(); builder.append(oneColorButton); builder.append("Color 1:", colorComboOne); builder.nextLine(); builder.append(twoColorButton); builder.append("Color 2: ", colorComboTwo); setLayout(new BorderLayout()); add(builder.getPanel(), BorderLayout.CENTER); }