Example usage for com.jgoodies.forms.builder DefaultFormBuilder append

List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder append

Introduction

In this page you can find the example usage for com.jgoodies.forms.builder DefaultFormBuilder append.

Prototype

public JLabel append(String textWithMnemonic, Component component) 

Source Link

Document

Adds a text label and component to the panel.

Usage

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);

}