Example usage for com.jgoodies.forms.factories Borders DIALOG

List of usage examples for com.jgoodies.forms.factories Borders DIALOG

Introduction

In this page you can find the example usage for com.jgoodies.forms.factories Borders DIALOG.

Prototype

Border DIALOG

To view the source code for com.jgoodies.forms.factories Borders DIALOG.

Click Source Link

Document

A standardized Border that describes the border around a dialog content that has no tabs.

Usage

From source file:de.bund.bfr.knime.openkrise.db.gui.InfoBox.java

License:Open Source License

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner Evaluation license
    dialogPane = new JPanel();
    contentPane = new JPanel();
    scroller = new JScrollPane();
    infoTextArea = new JTextArea();
    buttonBar = new JPanel();
    okButton = new JButton();
    CellConstraints cc = new CellConstraints();

    //======== this ========
    Container contentPane2 = getContentPane();
    contentPane2.setLayout(new BorderLayout());

    //======== dialogPane ========
    {//from   w  w  w.  j av a2  s. c o  m
        dialogPane.setBorder(Borders.DIALOG);
        dialogPane.setLayout(new BorderLayout());

        //======== contentPane ========
        {
            contentPane.setLayout(new FormLayout("default:grow", "fill:default:grow"));

            //======== scroller ========
            {

                //---- infoTextArea ----
                infoTextArea.setText(inhalt);
                scroller.setViewportView(infoTextArea);
            }
            contentPane.add(scroller, cc.xy(1, 1));
        }
        dialogPane.add(contentPane, BorderLayout.CENTER);

        //======== buttonBar ========
        {
            buttonBar.setBorder(Borders.BUTTON_BAR_PAD);
            buttonBar.setLayout(
                    new FormLayout(new ColumnSpec[] { FormSpecs.GLUE_COLSPEC, FormSpecs.BUTTON_COLSPEC },
                            RowSpec.decodeSpecs("pref")));

            //---- okButton ----
            okButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    okButton_actionPerformed(e);
                }
            });
            okButton.setText("OK");
            buttonBar.add(okButton, cc.xy(2, 1));
        }
        dialogPane.add(buttonBar, BorderLayout.SOUTH);
    }
    contentPane2.add(dialogPane, BorderLayout.CENTER);
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
}

From source file:de.bund.bfr.knime.openkrise.db.gui.Login.java

License:Open Source License

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    ResourceBundle bundle = ResourceBundle.getBundle("de.bund.bfr.knime.openkrise.db.gui.PanelProps");
    dialogPane = new JPanel();
    contentPanel = new JPanel();
    label1 = new JLabel();
    textField1 = new JTextField();
    label2 = new JLabel();
    passwordField1 = new JPasswordField();
    button1 = new JButton();
    textField2 = new JTextField();
    checkBox2 = new JCheckBox();
    checkBox1 = new JCheckBox();
    label3 = new JLabel();
    passwordField2 = new JPasswordField();
    label4 = new JLabel();
    passwordField3 = new JPasswordField();
    buttonBar = new JPanel();
    okButton = new JButton();
    cancelButton = new JButton();

    //======== this ========
    setTitle(bundle.getString("Login.this.title"));
    setAlwaysOnTop(true);//from ww w .j a v  a2  s . c om
    setIconImage(new ImageIcon(getClass().getResource("/de/bund/bfr/knime/openkrise/db/gui/res/Database.gif"))
            .getImage());
    setFont(new Font("Tahoma", Font.PLAIN, 13));
    addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            thisWindowClosing(e);
        }

        @Override
        public void windowOpened(WindowEvent e) {
            thisWindowOpened(e);
        }
    });
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    //======== dialogPane ========
    {
        dialogPane.setBorder(Borders.DIALOG);
        dialogPane.setFont(new Font("Tahoma", Font.PLAIN, 13));
        dialogPane.setLayout(new BorderLayout());

        //======== contentPanel ========
        {
            contentPanel.setFont(new Font("Tahoma", Font.PLAIN, 13));
            contentPanel
                    .setLayout(new FormLayout("default, 10dlu, default:grow", "5*(default, $lgap), default"));

            //---- label1 ----
            label1.setText(bundle.getString("Login.label1.text"));
            label1.setFont(new Font("Tahoma", Font.PLAIN, 13));
            contentPanel.add(label1, CC.xy(1, 1));

            //---- textField1 ----
            textField1.setFont(new Font("Tahoma", Font.PLAIN, 13));
            textField1.addKeyListener(new KeyAdapter() {
                @Override
                public void keyReleased(KeyEvent e) {
                    textField1KeyReleased(e);
                }
            });
            contentPanel.add(textField1, CC.xy(3, 1));

            //---- label2 ----
            label2.setText(bundle.getString("Login.label2.text"));
            label2.setFont(new Font("Tahoma", Font.PLAIN, 13));
            contentPanel.add(label2, CC.xy(1, 3));

            //---- passwordField1 ----
            passwordField1.setFont(new Font("Tahoma", Font.PLAIN, 13));
            passwordField1.addKeyListener(new KeyAdapter() {
                @Override
                public void keyReleased(KeyEvent e) {
                    passwordField1KeyReleased(e);
                }
            });
            contentPanel.add(passwordField1, CC.xy(3, 3));

            //---- button1 ----
            button1.setText(bundle.getString("Login.button1.text"));
            button1.setFont(new Font("Tahoma", Font.PLAIN, 13));
            button1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    button1ActionPerformed(e);
                }
            });
            contentPanel.add(button1, CC.xy(1, 5));

            //---- textField2 ----
            textField2.setFont(new Font("Tahoma", Font.PLAIN, 13));
            textField2.addKeyListener(new KeyAdapter() {
                @Override
                public void keyReleased(KeyEvent e) {
                    textField2KeyReleased(e);
                }
            });
            contentPanel.add(textField2, CC.xy(3, 5));

            //---- checkBox2 ----
            checkBox2.setText(bundle.getString("Login.checkBox2.text"));
            checkBox2.setSelected(true);
            contentPanel.add(checkBox2, CC.xy(1, 7));

            //---- checkBox1 ----
            checkBox1.setText(bundle.getString("Login.checkBox1.text"));
            checkBox1.setFont(new Font("Tahoma", Font.PLAIN, 13));
            checkBox1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    checkBox1ActionPerformed(e);
                }
            });
            checkBox1.addKeyListener(new KeyAdapter() {
                @Override
                public void keyReleased(KeyEvent e) {
                    checkBox1KeyReleased(e);
                }
            });
            contentPanel.add(checkBox1, CC.xy(3, 7));

            //---- label3 ----
            label3.setText(bundle.getString("Login.label3.text"));
            label3.setFont(new Font("Tahoma", Font.PLAIN, 13));
            contentPanel.add(label3, CC.xy(1, 9));

            //---- passwordField2 ----
            passwordField2.setEnabled(false);
            passwordField2.setFont(new Font("Tahoma", Font.PLAIN, 13));
            passwordField2.addKeyListener(new KeyAdapter() {
                @Override
                public void keyReleased(KeyEvent e) {
                    passwordField2KeyReleased(e);
                }
            });
            contentPanel.add(passwordField2, CC.xy(3, 9));

            //---- label4 ----
            label4.setText(bundle.getString("Login.label4.text"));
            label4.setFont(new Font("Tahoma", Font.PLAIN, 13));
            contentPanel.add(label4, CC.xy(1, 11));

            //---- passwordField3 ----
            passwordField3.setEnabled(false);
            passwordField3.setFont(new Font("Tahoma", Font.PLAIN, 13));
            passwordField3.addKeyListener(new KeyAdapter() {
                @Override
                public void keyReleased(KeyEvent e) {
                    passwordField3KeyReleased(e);
                }
            });
            contentPanel.add(passwordField3, CC.xy(3, 11));
        }
        dialogPane.add(contentPanel, BorderLayout.CENTER);

        //======== buttonBar ========
        {
            buttonBar.setBorder(Borders.BUTTON_BAR_PAD);
            buttonBar.setFont(new Font("Tahoma", Font.PLAIN, 13));
            buttonBar.setLayout(new FormLayout("$glue, $button, $rgap, $button", "pref"));

            //---- okButton ----
            okButton.setText("OK");
            okButton.setFont(new Font("Tahoma", Font.PLAIN, 13));
            okButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    okButtonActionPerformed(e);
                }
            });
            buttonBar.add(okButton, CC.xy(2, 1));

            //---- cancelButton ----
            cancelButton.setText("Cancel");
            cancelButton.setIcon(null);
            cancelButton.setFont(new Font("Tahoma", Font.PLAIN, 13));
            cancelButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    cancelButtonActionPerformed(e);
                }
            });
            buttonBar.add(cancelButton, CC.xy(4, 1));
        }
        dialogPane.add(buttonBar, BorderLayout.SOUTH);
    }
    contentPane.add(dialogPane, BorderLayout.CENTER);
    setSize(435, 245);
    setLocationRelativeTo(getOwner());
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
}

From source file:de.bund.bfr.knime.openkrise.db.gui.PlausibleDialog4Krise.java

License:Open Source License

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    dialogPane = new JPanel();
    contentPanel = new JPanel();
    label1 = new JLabel();
    cs = new JCheckBox();
    separator11 = new JSeparator();
    label5 = new JLabel();
    sn = new JSpinner();
    lz = new JLabel();
    sz = new JSpinner();
    label7 = new JLabel();
    ss = new JSpinner();
    label8 = new JLabel();
    snum = new JSpinner();
    label9 = new JLabel();
    sc = new JSpinner();
    separator12 = new JSeparator();
    label2 = new JLabel();
    cp = new JCheckBox();
    label10 = new JLabel();
    ps = new JSpinner();
    label11 = new JLabel();
    pd = new JSpinner();
    separator33 = new JSeparator();
    label3 = new JLabel();
    cl = new JCheckBox();
    label12 = new JLabel();
    la = new JSpinner();
    label13 = new JLabel();
    ll = new JSpinner();
    separator41 = new JSeparator();
    label4 = new JLabel();
    cd = new JCheckBox();
    label15 = new JLabel();
    dl = new JSpinner();
    label16 = new JLabel();
    dd = new JSpinner();
    label17 = new JLabel();
    dr = new JSpinner();
    buttonBar = new JPanel();
    okButton = new JButton();
    cancelButton = new JButton();
    button1 = new JButton();

    //======== this ========
    setTitle("SimSearch Options");
    setModal(true);//from  w w  w .ja v a2 s  .  co  m
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    //======== dialogPane ========
    {
        dialogPane.setBorder(Borders.DIALOG);
        dialogPane.setLayout(new BorderLayout());

        //======== contentPanel ========
        {
            contentPanel
                    .setLayout(new FormLayout("12*(default, $lcgap), default", "6*(default, $lgap), default"));
            ((FormLayout) contentPanel.getLayout())
                    .setColumnGroups(new int[][] { { 7, 11, 15, 19, 23 }, { 9, 13, 17, 21, 25 } });

            //---- label1 ----
            label1.setText("Station:");
            contentPanel.add(label1, CC.xy(1, 1));
            contentPanel.add(cs, CC.xy(3, 1));

            //---- separator11 ----
            separator11.setOrientation(SwingConstants.VERTICAL);
            separator11.setForeground(Color.black);
            contentPanel.add(separator11, CC.xywh(5, 1, 1, 13, CC.RIGHT, CC.DEFAULT));

            //---- label5 ----
            label5.setText("Name:");
            label5.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(label5, CC.xy(7, 1));

            //---- sn ----
            sn.setModel(new SpinnerNumberModel(90, 0, 100, 10));
            contentPanel.add(sn, CC.xy(9, 1));

            //---- lz ----
            lz.setText("Zip:");
            lz.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(lz, CC.xy(11, 1));

            //---- sz ----
            sz.setModel(new SpinnerNumberModel(90, 0, 100, 10));
            contentPanel.add(sz, CC.xy(13, 1));

            //---- label7 ----
            label7.setText("Street:");
            label7.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(label7, CC.xy(15, 1));

            //---- ss ----
            ss.setModel(new SpinnerNumberModel(90, 0, 100, 10));
            contentPanel.add(ss, CC.xy(17, 1));

            //---- label8 ----
            label8.setText("Number:");
            label8.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(label8, CC.xy(19, 1));

            //---- snum ----
            snum.setModel(new SpinnerNumberModel(0, 0, 100, 10));
            contentPanel.add(snum, CC.xy(21, 1));

            //---- label9 ----
            label9.setText("City:");
            label9.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(label9, CC.xy(23, 1));

            //---- sc ----
            sc.setModel(new SpinnerNumberModel(90, 0, 100, 10));
            contentPanel.add(sc, CC.xy(25, 1));

            //---- separator12 ----
            separator12.setForeground(Color.black);
            contentPanel.add(separator12, CC.xywh(1, 3, 25, 1));

            //---- label2 ----
            label2.setText("Product:");
            contentPanel.add(label2, CC.xy(1, 5));
            contentPanel.add(cp, CC.xy(3, 5));

            //---- label10 ----
            label10.setText("Station:");
            label10.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(label10, CC.xy(7, 5));

            //---- ps ----
            ps.setModel(new SpinnerNumberModel(100, 0, 100, 10));
            ps.setEnabled(false);
            contentPanel.add(ps, CC.xy(9, 5));

            //---- label11 ----
            label11.setText("Name:");
            label11.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(label11, CC.xy(11, 5));

            //---- pd ----
            pd.setModel(new SpinnerNumberModel(75, 0, 100, 10));
            contentPanel.add(pd, CC.xy(13, 5));

            //---- separator33 ----
            separator33.setForeground(Color.black);
            contentPanel.add(separator33, CC.xywh(1, 7, 25, 1));

            //---- label3 ----
            label3.setText("Lot:");
            contentPanel.add(label3, CC.xy(1, 9));
            contentPanel.add(cl, CC.xy(3, 9));

            //---- label12 ----
            label12.setText("Article:");
            label12.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(label12, CC.xy(7, 9));

            //---- la ----
            la.setModel(new SpinnerNumberModel(100, 0, 100, 10));
            la.setEnabled(false);
            contentPanel.add(la, CC.xy(9, 9));

            //---- label13 ----
            label13.setText("LotNo:");
            label13.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(label13, CC.xy(11, 9));

            //---- ll ----
            ll.setModel(new SpinnerNumberModel(75, 0, 100, 10));
            contentPanel.add(ll, CC.xy(13, 9));

            //---- separator41 ----
            separator41.setForeground(Color.black);
            contentPanel.add(separator41, CC.xywh(1, 11, 25, 1));

            //---- label4 ----
            label4.setText("Delivery:");
            contentPanel.add(label4, CC.xy(1, 13));
            contentPanel.add(cd, CC.xy(3, 13));

            //---- label15 ----
            label15.setText("Lot:");
            label15.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(label15, CC.xy(7, 13));

            //---- dl ----
            dl.setModel(new SpinnerNumberModel(100, 0, 100, 10));
            dl.setEnabled(false);
            contentPanel.add(dl, CC.xy(9, 13));

            //---- label16 ----
            label16.setText("DeliveryDate:");
            label16.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(label16, CC.xy(11, 13));

            //---- dd ----
            dd.setModel(new SpinnerNumberModel(0, 0, 100, 10));
            contentPanel.add(dd, CC.xy(13, 13));

            //---- label17 ----
            label17.setText("Recipient:");
            label17.setHorizontalAlignment(SwingConstants.RIGHT);
            contentPanel.add(label17, CC.xy(15, 13));

            //---- dr ----
            dr.setModel(new SpinnerNumberModel(100, 0, 100, 10));
            dr.setEnabled(false);
            contentPanel.add(dr, CC.xy(17, 13));
        }
        dialogPane.add(contentPanel, BorderLayout.CENTER);

        //======== buttonBar ========
        {
            buttonBar.setBorder(Borders.BUTTON_BAR_PAD);
            buttonBar.setLayout(new FormLayout("$glue, $button, $rgap, $button, $lcgap, default", "pref"));

            //---- okButton ----
            okButton.setText("OK");
            okButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    okButtonActionPerformed(e);
                }
            });
            buttonBar.add(okButton, CC.xy(2, 1));

            //---- cancelButton ----
            cancelButton.setText("Cancel");
            cancelButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    cancelButtonActionPerformed(e);
                }
            });
            buttonBar.add(cancelButton, CC.xy(4, 1));

            //---- button1 ----
            button1.setText("Help");
            button1.setPreferredSize(new Dimension(65, 23));
            button1.setMinimumSize(new Dimension(65, 23));
            button1.setMaximumSize(new Dimension(65, 23));
            button1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    button1ActionPerformed(e);
                }
            });
            buttonBar.add(button1, CC.xy(6, 1));
        }
        dialogPane.add(buttonBar, BorderLayout.SOUTH);
    }
    contentPane.add(dialogPane, BorderLayout.CENTER);
    pack();
    setLocationRelativeTo(getOwner());
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
}

From source file:de.bund.bfr.knime.openkrise.ui.handlers.SettingsDialog.java

License:Open Source License

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    dialogPane = new JPanel();
    contentPanel = new JPanel();
    label1 = new JLabel();
    dbPath = new JTextField();
    button1 = new JButton();
    label3 = new JLabel();
    username = new JTextField();
    label4 = new JLabel();
    password = new JPasswordField();
    button2 = new JButton();
    label2 = new JLabel();
    readOnly = new JCheckBox();
    buttonBar = new JPanel();
    okButton = new JButton();
    cancelButton = new JButton();

    //======== this ========
    setTitle("Settings");
    setAlwaysOnTop(true);/*from ww  w  .  ja  va2 s.  co  m*/
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    //======== dialogPane ========
    {
        dialogPane.setBorder(Borders.DIALOG);
        dialogPane.setLayout(new BorderLayout());

        //======== contentPanel ========
        {
            contentPanel
                    .setLayout(new FormLayout("2*(default, $lcgap), default", "4*(default, $lgap), default"));

            //---- label1 ----
            label1.setText("DB Path:");
            contentPanel.add(label1, CC.xy(1, 1));

            //---- dbPath ----
            dbPath.setColumns(50);
            contentPanel.add(dbPath, CC.xy(3, 1));

            //---- button1 ----
            button1.setText("...");
            button1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    button1ActionPerformed(e);
                }
            });
            contentPanel.add(button1, CC.xy(5, 1));

            //---- label3 ----
            label3.setText("Username:");
            contentPanel.add(label3, CC.xy(1, 3));
            contentPanel.add(username, CC.xywh(3, 3, 3, 1));

            //---- label4 ----
            label4.setText("Password:");
            contentPanel.add(label4, CC.xy(1, 5));
            contentPanel.add(password, CC.xywh(3, 5, 3, 1));

            //---- button2 ----
            button2.setText("Change Username/password");
            button2.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    button2ActionPerformed(e);
                }
            });
            contentPanel.add(button2, CC.xy(3, 7));

            //---- label2 ----
            label2.setText("DB Read-only:");
            label2.setVisible(false);
            contentPanel.add(label2, CC.xy(1, 9));

            //---- readOnly ----
            readOnly.setVisible(false);
            contentPanel.add(readOnly, CC.xywh(3, 9, 3, 1));
        }
        dialogPane.add(contentPanel, BorderLayout.CENTER);

        //======== buttonBar ========
        {
            buttonBar.setBorder(Borders.BUTTON_BAR_PAD);
            buttonBar.setLayout(new FormLayout("$glue, $button, $rgap, $button", "pref"));

            //---- okButton ----
            okButton.setText("OK");
            okButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    okButtonActionPerformed(e);
                }
            });
            buttonBar.add(okButton, CC.xy(2, 1));

            //---- cancelButton ----
            cancelButton.setText("Cancel");
            cancelButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    cancelButtonActionPerformed(e);
                }
            });
            buttonBar.add(cancelButton, CC.xy(4, 1));
        }
        dialogPane.add(buttonBar, BorderLayout.SOUTH);
    }
    contentPane.add(dialogPane, BorderLayout.CENTER);
    pack();
    setLocationRelativeTo(getOwner());
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
}

From source file:eu.delving.sip.frames.DataSetStandaloneFrame.java

License:EUPL

private Swing createFormBuilder() {
    return new Swing() {
        @Override/*from ww w .  java2  s  .  co  m*/
        public void run() {
            fieldPanel.removeAll();
            FormLayout layout = new FormLayout("right:pref, 3dlu, pref", createRowLayout(factDefinitions));
            PanelBuilder pb = new PanelBuilder(layout);
            pb.border(Borders.DIALOG);
            CellConstraints cc = new CellConstraints();
            int count = 2;
            for (FactDefinition factDefinition : factDefinitions) {
                pb.addLabel(factDefinition.prompt, cc.xy(1, count));
                if (factDefinition.options == null) {
                    JTextField field = new JTextField(30);
                    pb.add(field, cc.xy(3, count));
                    if (factDefinition == SCHEMA_VERSIONS_FACT) {
                        field.setToolTipText(createSchemaVersionToolTip());
                    }
                    fieldComponents.put(factDefinition.name, new FieldComponent(field));
                } else {
                    JComboBox comboBox = new JComboBox<String>(factDefinition.getOptions());
                    pb.add(comboBox, cc.xy(3, count));
                    fieldComponents.put(factDefinition.name, new FieldComponent(comboBox));
                }
                count += 2;
            }
            fieldPanel.add(pb.getPanel(), BorderLayout.CENTER);
            fieldPanel.revalidate();
        }

    };
}

From source file:IceGridGUI.LiveDeployment.GraphView.java

License:Open Source License

public GraphView(Coordinator coordinator, String title) {
    _coordinator = coordinator;//from  www  . j a va 2  s .  co m
    setTitle(title);

    _preferences = Preferences.userNodeForPackage(getClass());

    //
    // Don't destroy JavaFX when the frame is disposed.
    //
    Platform.setImplicitExit(false);
    setIconImage(Utils.getIcon("/icons/16x16/metrics_graph.png").getImage());
    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
    addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            close();
        }
    });

    //
    // Graph preferences.
    //
    Action preferences = new AbstractAction("Preferences") {
        @Override
        public void actionPerformed(ActionEvent event) {
            //
            // Set the title
            //
            JTextField title = new JTextField(getTitle());
            JPanel titlePanel;
            {
                DefaultFormBuilder builder = new DefaultFormBuilder(
                        new FormLayout("pref,2dlu,pref:grow", "pref"));
                builder.append("Title:", title);
                titlePanel = builder.getPanel();
            }

            //
            // SpinnerNumberModel to set a refresh period.
            //
            SpinnerNumberModel refreshPeriod = new SpinnerNumberModel(getRefreshPeriod(), _minRefreshPeriod,
                    _maxRefreshPeriod, 1);

            //
            // SpinnerNumberModel to set the maximum number of samples to keep in X axis.
            //
            final SpinnerNumberModel samples = new SpinnerNumberModel(_samples, _minSamples, _maxSamples, 1);

            JPanel refreshPanel;
            {
                DefaultFormBuilder builder = new DefaultFormBuilder(
                        new FormLayout("pref,2dlu,pref:grow", "pref"));
                builder.rowGroupingEnabled(true);
                final JSpinner spinner = new JSpinner(refreshPeriod);
                builder.append("Sample interval:", spinner);
                builder.append("", new JLabel("<html><p>Sample interval in seconds; must be between 1"
                        + "<br/>and 3600 seconds.</p></html>"));
                refreshPanel = builder.getPanel();
            }

            //
            // JComboBox to select time format used in X Axis
            //
            JComboBox<String> dateFormats = new JComboBox<String>(_dateFormats);
            dateFormats.setSelectedItem(getDateFormat());
            JPanel xAxisPanel;
            {
                DefaultFormBuilder builder = new DefaultFormBuilder(
                        new FormLayout("pref,2dlu,pref:grow", "pref"));
                builder.append("Samples displayed:", new JSpinner(samples));
                builder.append("", new JLabel("<html><p>The number of samples displayed on a graph;"
                        + "<br/>must be between 2 and 300." + "</p></html>"));
                builder.append("Time format:", dateFormats);

                xAxisPanel = builder.getPanel();
            }

            FormLayout layout = new FormLayout("fill:pref:grow", "pref");
            final DefaultFormBuilder builder = new DefaultFormBuilder(layout);
            builder.border(Borders.DIALOG);
            builder.append(titlePanel);
            builder.nextLine();
            builder.append(refreshPanel);
            builder.nextLine();
            builder.append(xAxisPanel);

            if (JOptionPane.showConfirmDialog(GraphView.this, builder.getPanel(), "Metrics Graph Preferences",
                    JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE) != JOptionPane.OK_OPTION) {
                return;
            }

            setTitle(title.getText());
            setRefreshPeriod(refreshPeriod.getNumber().intValue());
            setMaximumSamples(samples.getNumber().intValue());
            setDateFormat((String) dateFormats.getSelectedItem());
        }
    };

    _legendTable = new JTable(_legendModel) {
        //Implement table cell tool tips.
        @Override
        public String getToolTipText(java.awt.event.MouseEvent e) {
            if (convertColumnIndexToModel(columnAtPoint(e.getPoint())) == 6) {
                return _legendModel.getRows(new int[] { rowAtPoint(e.getPoint()) })[0].cell.getField()
                        .getColumnToolTip();
            } else {
                return null;
            }
        }
    };

    //
    // Adjust row height for larger fonts
    //
    int fontSize = _legendTable.getFont().getSize();
    int minRowHeight = fontSize + fontSize / 3;
    if (_legendTable.getRowHeight() < minRowHeight) {
        _legendTable.setRowHeight(minRowHeight);
    }

    //
    // Graph preferences.
    //
    final Action delete = new AbstractAction("Delete") {
        @Override
        public void actionPerformed(ActionEvent event) {
            int[] selectedRows = _legendTable.getSelectedRows();
            for (int i = 0; i < selectedRows.length; ++i) {
                selectedRows[i] = _legendTable.convertRowIndexToModel(selectedRows[i]);
            }
            //
            // Remove selected rows from the legend model.
            //
            final MetricsRow[] rows = _legendModel.removeRows(selectedRows);

            //
            // Remove rows from series hash maps
            //
            for (MetricsRow row : rows) {
                Map<String, Map<String, Map<String, MetricsRow>>> j = _series.get(row.info);
                Map<String, Map<String, MetricsRow>> k = j.get(row.cell.getField().getMetricsName());
                Map<String, MetricsRow> l = k.get(row.cell.getId());
                l.remove(row.cell.getField().getFieldName());
                if (l.size() == 0) {
                    k.remove(row.cell.getId());
                    if (k.size() == 0) {
                        j.remove(row.cell.getField().getMetricsName());
                        if (j.size() == 0) {
                            _series.remove(row.info);
                            if (_series.size() == 0) {
                                stopRefresh();
                            }
                        }
                    }
                }
            }

            //
            // Remove series from the chart, in JavaFx thread.
            //
            enqueueJFX(new Runnable() {
                @Override
                public void run() {
                    for (MetricsRow row : rows) {
                        for (int i = 0; i < row.series.size(); ++i) {
                            XYChart.Series<Number, Number> series = row.series.get(i);
                            String seriesClass = getSeriesClass(series);
                            if (seriesClass != null) {
                                _styles.remove(seriesClass);
                            }
                            //
                            // Don't remove the XYChart.Series object here, to avoid the series
                            // style classes to be reasign by JavaFX.
                            //
                            // _chart.getData().remove(row.series);
                            try {
                                series.getData().clear();
                            } catch (NullPointerException ex) {
                                // JavaFX bug
                            }
                        }
                    }
                }
            });
        }
    };
    delete.setEnabled(false);
    delete.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0));

    _legendTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                delete.setEnabled(_legendTable.getSelectedRows().length > 0);
            }
        }
    });

    //
    // Create the tool bar
    //
    class ToolBar extends JToolBar {
        public ToolBar() {
            putClientProperty(Options.HEADER_STYLE_KEY, HeaderStyle.BOTH);
            putClientProperty(PlasticLookAndFeel.BORDER_STYLE_KEY, BorderStyle.SEPARATOR);
            setFloatable(false);
            putClientProperty("JToolBar.isRollover", Boolean.TRUE);

            JButton button = new JButton(delete);
            button.setText(null);
            button.setIcon(Utils.getIcon("/icons/24x24/delete.png"));
            add(button);
        }
    }

    //
    // Create menus
    //
    JMenuBar menuBar = new JMenuBar();

    JMenu fileMenu = new JMenu("File");
    fileMenu.setMnemonic(java.awt.event.KeyEvent.VK_F);
    fileMenu.add(preferences);
    menuBar.add(fileMenu);

    JMenu editMenu = new JMenu("Edit");
    editMenu.setMnemonic(java.awt.event.KeyEvent.VK_E);
    editMenu.add(delete);
    menuBar.add(editMenu);

    setJMenuBar(menuBar);

    //
    // Set default renderer for numeric values.
    //
    _legendTable.setDefaultRenderer(Double.class, new FormatedNumberRenderer("#0.000"));

    //
    // Set a combobox to edit the scale factors.
    //
    JComboBox<Double> scales = new JComboBox<Double>(_scales);
    scales.setRenderer(new DecimalRenderer(scales.getRenderer()));
    _legendTable.getColumnModel().getColumn(7).setCellEditor(new DefaultCellEditor(scales));

    //
    //Set default renderer and editor for Color.class column.
    //
    _legendTable.setDefaultRenderer(Color.class, new ColorRenderer(true));
    _legendTable.setDefaultEditor(Color.class, new ColorEditor());

    _legendTable.setAutoCreateRowSorter(true);

    final JFXPanel fxPanel = new JFXPanel();
    fxPanel.setMinimumSize(new Dimension(0, 200));
    fxPanel.setPreferredSize(new Dimension(800, 400));
    //
    // Build the split pane, with the chart graph and the legend table.
    //
    _splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
    _splitPane.setTopComponent(fxPanel);
    JScrollPane scrollPane = new JScrollPane(_legendTable);
    scrollPane.setTransferHandler(new TransferHandler());
    scrollPane.setMinimumSize(new Dimension(0, 50));
    scrollPane.setPreferredSize(new Dimension(800, 200));
    _splitPane.setBottomComponent(scrollPane);

    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("fill:pref:grow", "fill:pref:grow, pref"));
    builder.append(_splitPane);
    builder.nextLine();

    JPanel panel = builder.getPanel();
    panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
    getContentPane().add(new ToolBar(), BorderLayout.PAGE_START);
    getContentPane().add(panel, BorderLayout.CENTER);
    setPreferredSize(new Dimension(800, 600));

    //
    // initialize the scene in JavaFX thread.
    //
    enqueueJFX(new Runnable() {
        @Override
        public void run() {
            _xAxis = new NumberAxis();
            _yAxis = new NumberAxis();

            _chart = new LineChart<Number, Number>(_xAxis, _yAxis);
            _chart.setCreateSymbols(false);
            _xAxis.setLabel("Time (" + getDateFormat() + ")");
            _xAxis.setTickLabelFormatter(_timeFormater);
            _xAxis.setForceZeroInRange(false);
            _chart.setAnimated(true);
            _chart.setLegendVisible(false);

            final Scene scene = new Scene(_chart);
            scene.setOnDragOver(new EventHandler<DragEvent>() {
                @Override
                public void handle(DragEvent event) {
                    Dragboard db = event.getDragboard();
                    if (event.getGestureSource() != scene && db.hasContent(LocalObjectMimeType)) {
                        Object object = db.getContent(LocalObjectMimeType);
                        if (object instanceof MetricsViewTransferableData) {
                            event.acceptTransferModes(TransferMode.COPY);
                        }
                    }
                    event.consume();
                }
            });

            scene.setOnDragDropped(new EventHandler<DragEvent>() {
                @Override
                public void handle(DragEvent event) {
                    boolean success = false;
                    Dragboard db = event.getDragboard();
                    if (event.getGestureSource() != scene && db.hasContent(LocalObjectMimeType)) {
                        Object object = db.getContent(LocalObjectMimeType);
                        if (object instanceof MetricsViewTransferableData) {
                            addSeries((MetricsViewTransferableData) object);
                            success = true;
                        }
                    }
                    event.setDropCompleted(success);
                    event.consume();
                }
            });
            fxPanel.setScene(scene);
        }
    });

    pack();
    if (!loadPreferences()) {
        Rectangle otherRect = _coordinator.getMainFrame().getBounds();
        Rectangle thisRect = getBounds();
        if (otherRect.width < thisRect.width || otherRect.height < thisRect.height) {
            setLocationRelativeTo(null);
        } else {
            setLocationRelativeTo(_coordinator.getMainFrame());
        }
        _splitPane.setDividerLocation(400);
    }
    setVisible(true);

    //
    // Show info dialog if required.
    //
    if (showInfo()) {
        JCheckBox checkbox = new JCheckBox("Do not show this message again.");
        String message = "Drop metrics cells to add them to the graph.";

        JOptionPane.showConfirmDialog(this, new Object[] { message, checkbox }, "Information",
                JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);
        if (checkbox.isSelected()) {
            _preferences.node("GraphView").putBoolean("showInfo", false);
        }
    }
}

From source file:IceGridGUI.LiveDeployment.LogFilterDialog.java

License:Open Source License

LogFilterDialog(final ShowIceLogDialog dialog) {
    super(dialog, "Ice log filter - IceGrid Admin", true);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

    java.util.Set<Ice.LogMessageType> messageTypeFilterSet = null;
    if (dialog.getMessageTypeFilter() != null) {
        messageTypeFilterSet = new java.util.HashSet<>(java.util.Arrays.asList(dialog.getMessageTypeFilter()));
    }// w w w  .  ja  v a  2s . c  o m

    final JCheckBox error = new JCheckBox("Error",
            messageTypeFilterSet == null || messageTypeFilterSet.contains(Ice.LogMessageType.ErrorMessage));
    final JCheckBox warning = new JCheckBox("Warning",
            messageTypeFilterSet == null || messageTypeFilterSet.contains(Ice.LogMessageType.WarningMessage));
    final JCheckBox print = new JCheckBox("Print",
            messageTypeFilterSet == null || messageTypeFilterSet.contains(Ice.LogMessageType.PrintMessage));
    final JCheckBox trace = new JCheckBox("Trace",
            messageTypeFilterSet == null || messageTypeFilterSet.contains(Ice.LogMessageType.TraceMessage));

    final JTextArea traceCategories = new JTextArea(3, 40);
    traceCategories.setLineWrap(true);

    String[] traceCategoryFilter = dialog.getTraceCategoryFilter();
    if (traceCategoryFilter != null) {
        // TODO: join with escapes!
        traceCategories.setText(
                IceUtilInternal.StringUtil.joinString(java.util.Arrays.asList(traceCategoryFilter), ", "));
    } else {
        traceCategories.setText(null);
    }

    traceCategories.setToolTipText("Trace categories separated by commas; leave blank to get all categories");

    JButton okButton = new JButton("OK");
    ActionListener okListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            String[] traceCategoryFilter = null;

            String txt = traceCategories.getText();
            if (txt != null && !txt.isEmpty()) {
                traceCategoryFilter = IceUtilInternal.StringUtil.splitString(txt, ", \t\r\n");
                if (traceCategoryFilter == null) {
                    // unmatched quote
                    JOptionPane.showMessageDialog(LogFilterDialog.this,
                            "Unmatched quote in Trace categories field", "Invalid entry",
                            JOptionPane.ERROR_MESSAGE);
                    return;
                }

                if (traceCategoryFilter.length == 0) // only separators
                {
                    traceCategoryFilter = null;
                }
            }

            java.util.Set<Ice.LogMessageType> messageTypeFilterSet = new java.util.HashSet<>();
            if (error.isSelected()) {
                messageTypeFilterSet.add(Ice.LogMessageType.ErrorMessage);
            }
            if (warning.isSelected()) {
                messageTypeFilterSet.add(Ice.LogMessageType.WarningMessage);
            }
            if (print.isSelected()) {
                messageTypeFilterSet.add(Ice.LogMessageType.PrintMessage);
            }
            if (trace.isSelected()) {
                messageTypeFilterSet.add(Ice.LogMessageType.TraceMessage);
            }
            if (messageTypeFilterSet.size() == 0 || messageTypeFilterSet.size() == 4) {
                // All or nothing checked equivalent of getting everything!
                messageTypeFilterSet = null;
            }
            Ice.LogMessageType[] messageTypeFilter = null;
            if (messageTypeFilterSet != null) {
                messageTypeFilter = messageTypeFilterSet.toArray(new Ice.LogMessageType[0]);
            }

            dispose();
            dialog.setFilters(messageTypeFilter, traceCategoryFilter);
        }
    };
    okButton.addActionListener(okListener);
    getRootPane().setDefaultButton(okButton);

    JButton cancelButton = new JButton("Cancel");
    ActionListener cancelListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            dispose();
        }
    };
    cancelButton.addActionListener(cancelListener);

    FormLayout layout = new FormLayout("left:pref, 3dlu, fill:pref:grow", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.border(Borders.DIALOG);
    builder.rowGroupingEnabled(true);
    builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());

    builder.appendSeparator("Retrieve only the following types of log messages (server-side filtering)");
    builder.nextLine();
    builder.append(error);
    builder.nextLine();
    builder.append(warning);
    builder.nextLine();
    builder.append(print);
    builder.nextLine();
    builder.append(trace);
    builder.nextLine();
    builder.append("Trace categories");
    builder.nextLine();
    builder.append("");
    builder.nextRow(-2);
    CellConstraints cc = new CellConstraints();
    JScrollPane scrollPane = new JScrollPane(traceCategories);
    builder.add(scrollPane, cc.xywh(builder.getColumn(), builder.getRow(), 1, 3));
    builder.nextRow(2);
    builder.nextLine();

    JComponent buttonBar = new ButtonBarBuilder().addGlue().addButton(okButton, cancelButton).build();
    buttonBar.setBorder(Borders.DIALOG);

    java.awt.Container contentPane = getContentPane();
    contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
    contentPane.add(builder.getPanel());
    contentPane.add(buttonBar);

    pack();
    setResizable(false);
    setLocationRelativeTo(dialog);
    setVisible(true);
}

From source file:IceGridGUI.LiveDeployment.WriteMessageDialog.java

License:Open Source License

WriteMessageDialog(final Root root) {
    super(root.getCoordinator().getMainFrame(), "Write Message - IceGrid Admin", true);
    setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);

    _mainFrame = root.getCoordinator().getMainFrame();

    _stdOut = new JRadioButton("Write to stdout");
    _stdOut.setSelected(true);//from   ww w. j av  a 2  s .  co m
    JRadioButton stdErr = new JRadioButton("Write to stderr");
    ButtonGroup bg = new ButtonGroup();
    bg.add(_stdOut);
    bg.add(stdErr);

    JButton okButton = new JButton("OK");
    ActionListener okListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            final Coordinator c = root.getCoordinator();

            AdminPrx admin = c.getAdmin();
            if (admin == null) {
                JOptionPane.showMessageDialog(_mainFrame, "No longer connected to IceGrid Registry",
                        "Writing message to server '" + _target + "' failed", JOptionPane.ERROR_MESSAGE);
            } else {

                Ice.Identity adminId = new Ice.Identity(_target, c.getServerAdminCategory());

                final Ice.ProcessPrx process = Ice.ProcessPrxHelper
                        .uncheckedCast(admin.ice_identity(adminId).ice_facet("Process"));

                final String prefix = "Writing message to server '" + _target + "'...";
                c.getStatusBar().setText(prefix);

                Ice.Callback_Process_writeMessage cb = new Ice.Callback_Process_writeMessage() {
                    @Override
                    public void response() {
                        SwingUtilities.invokeLater(new Runnable() {
                            @Override
                            public void run() {
                                c.getStatusBar().setText(prefix + "done.");
                            }
                        });
                    }

                    @Override
                    public void exception(final Ice.LocalException e) {
                        SwingUtilities.invokeLater(new Runnable() {
                            @Override
                            public void run() {
                                handleFailure("Communication exception: " + e.toString());
                            }
                        });
                    }

                    private void handleFailure(String message) {
                        c.getStatusBar().setText(prefix + "failed!");

                        JOptionPane.showMessageDialog(_mainFrame, message,
                                "Writing message to server '" + process.ice_getIdentity().name + "' failed",
                                JOptionPane.ERROR_MESSAGE);
                    }
                };

                try {
                    process.begin_writeMessage(_message.getText(), _stdOut.isSelected() ? 1 : 2, cb);
                } catch (Ice.LocalException ex) {
                    c.getStatusBar().setText(prefix + "failed.");
                    JOptionPane.showMessageDialog(_mainFrame, "Communication exception: " + ex.toString(),
                            "Writing message to server '" + _target + "' failed", JOptionPane.ERROR_MESSAGE);

                    return;
                }
            }

            setVisible(false);
        }
    };
    okButton.addActionListener(okListener);
    getRootPane().setDefaultButton(okButton);

    JButton cancelButton = new JButton("Cancel");
    ActionListener cancelListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            setVisible(false);
        }
    };
    cancelButton.addActionListener(cancelListener);

    FormLayout layout = new FormLayout("left:pref, 3dlu, fill:pref:grow", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.border(Borders.DIALOG);
    builder.rowGroupingEnabled(true);
    builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());

    _message.setLineWrap(true);
    JScrollPane scrollPane = new JScrollPane(_message, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
            ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    builder.append(scrollPane, 3);
    builder.nextLine();
    builder.append(_stdOut);
    builder.append(stdErr);
    builder.nextLine();

    JComponent buttonBar = new ButtonBarBuilder().addGlue().addButton(okButton, cancelButton).build();
    buttonBar.setBorder(Borders.DIALOG);

    Container contentPane = getContentPane();
    contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
    contentPane.add(builder.getPanel());
    contentPane.add(buttonBar);

    pack();
    setResizable(false);
}

From source file:IceGridGUI.SessionKeeper.java

License:Open Source License

public static JPanel getSubjectPanel(X509Certificate cert) throws javax.naming.InvalidNameException {
    java.util.HashMap<String, Object> details = new java.util.HashMap<String, Object>();
    LdapName dn = new LdapName(cert.getSubjectX500Principal().getName());
    for (Rdn rdn : dn.getRdns()) {
        details.put(rdn.getType().toUpperCase(), rdn.getValue());
    }/* ww w .ja  v a 2 s .c om*/

    FormLayout layout = new FormLayout("right:pref, 2dlu, left:pref:grow", "pref");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.border(Borders.DIALOG);
    builder.rowGroupingEnabled(true);
    builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());
    builder.addSeparator("Subject");
    builder.nextLine();

    if (details.get("CN") != null) {
        builder.append(new JLabel("<html><b>Common Name (CN):</b></html>"),
                new JLabel(details.get("CN").toString()));
    } else {
        builder.append(new JLabel("<html><b>Common Name (CN):</b></html>"));
    }

    if (details.get("O") != null) {
        builder.append(new JLabel("<html><b>Organization (O):</b></html>"),
                new JLabel(details.get("O").toString()));
    } else {
        builder.append(new JLabel("<html><b>Organization (O):</b></html>"));
    }

    if (details.get("OU") != null) {
        builder.append(new JLabel("<html><b>Organization Unit (OU):</b></html>"),
                new JLabel(details.get("OU").toString()));
    } else {
        builder.append(new JLabel("<html><b>Organization Unit (OU):</b></html>"));
    }
    builder.append(new JLabel("<html><b>Serial Number:</b></html>"),
            new JLabel(cert.getSerialNumber().toString()));

    return builder.getPanel();
}

From source file:IceGridGUI.SessionKeeper.java

License:Open Source License

public static JPanel getIssuerPanel(X509Certificate cert) throws javax.naming.InvalidNameException {
    java.util.HashMap<String, Object> details = new java.util.HashMap<String, Object>();

    LdapName dn = new LdapName(cert.getIssuerX500Principal().getName());
    for (Rdn rdn : dn.getRdns()) {
        details.put(rdn.getType().toUpperCase(), rdn.getValue());
    }//from ww w  .  jav  a 2s  .co  m

    FormLayout layout = new FormLayout("right:pref, 2dlu, left:pref:grow", "pref");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.border(Borders.DIALOG);
    builder.rowGroupingEnabled(true);
    builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());
    builder.addSeparator("Issuer");
    builder.nextLine();
    if (details.get("CN") != null) {
        builder.append(new JLabel("<html><b>Common Name (CN):</b></html>"),
                new JLabel(details.get("CN").toString()));
    } else {
        builder.append(new JLabel("<html><b>Common Name (CN):</b></html>"));
    }

    if (details.get("O") != null) {
        builder.append(new JLabel("<html><b>Organization (O):</b></html>"),
                new JLabel(details.get("O").toString()));
    } else {
        builder.append(new JLabel("<html><b>Organization (O):</b></html>"));
    }

    if (details.get("OU") != null) {
        builder.append(new JLabel("<html><b>Organization Unit (OU):</b></html>"),
                new JLabel(details.get("OU").toString()));
    } else {
        builder.append(new JLabel("<html><b>Organization Unit (OU):</b></html>"));
    }

    return builder.getPanel();
}