de.bund.bfr.knime.openkrise.db.gui.InfoBox.java Source code

Java tutorial

Introduction

Here is the source code for de.bund.bfr.knime.openkrise.db.gui.InfoBox.java

Source

/*******************************************************************************
 * Copyright (c) 2016 German Federal Institute for Risk Assessment (BfR)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Contributors:
 *     Department Biological Safety - BfR
 *******************************************************************************/
/**
 * 
 */
package de.bund.bfr.knime.openkrise.db.gui;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

import com.jgoodies.forms.factories.Borders;
import com.jgoodies.forms.layout.FormSpecs;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.RowSpec;

import de.bund.bfr.knime.openkrise.db.DBKernel;
import de.bund.bfr.knime.openkrise.db.MyLogger;

/**
 * @author Armin
 *
 */
public class InfoBox extends JDialog {

    /**
      * 
      */
    private static final long serialVersionUID = 1L;
    private String inhalt = "";

    public InfoBox(String inhalt, boolean keyDispose, Dimension dim, Font font) {
        this(inhalt, keyDispose, dim, font, false);
    }

    public InfoBox(String inhalt, boolean keyDispose, Dimension dim, Font font, boolean modal) {
        this(DBKernel.mainFrame, inhalt, keyDispose, dim, font, modal);
    }

    public InfoBox(JDialog owner, String inhalt, boolean keyDispose, Dimension dim, Font font, boolean modal) {
        super(owner, "Info", modal);
        init(owner.getLocation(), owner.getSize(), inhalt, keyDispose, dim, font, modal);
    }

    public InfoBox(Frame owner, String inhalt, boolean keyDispose, Dimension dim, Font font, boolean modal) {
        super(owner, "Info", modal);
        init(owner.getLocation(), owner.getSize(), inhalt, keyDispose, dim, font, modal);
    }

    private void init(Point loc, Dimension siz, String inhalt, boolean keyDispose, Dimension dim, Font font,
            boolean modal) {
        try {
            this.inhalt = inhalt;
            this.setResizable(false);
            this.setSize(dim);
            this.setLocation(loc.x + (siz.width - this.getWidth()) / 2,
                    loc.y + (siz.height - this.getHeight()) / 2);
            initComponents();
            if (font != null) {
                infoTextArea.setFont(font);
            }
            infoTextArea.setEditable(false);
            if (keyDispose) {
                infoTextArea.addKeyListener(new KeyAdapter() {
                    public void keyPressed(KeyEvent e) {
                        if (!e.isAltDown() && !e.isControlDown()) {
                            e.consume();
                            dispose();
                        }
                    }
                });
                this.addKeyListener(new KeyAdapter() {
                    public void keyPressed(KeyEvent e) {
                        if (!e.isAltDown() && !e.isControlDown()) {
                            e.consume();
                            dispose();
                        }
                    }
                });
            }
        } catch (Exception e) {
            MyLogger.handleException(e);
        }
    }

    private void okButton_actionPerformed(ActionEvent e) {
        dispose();
    }

    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 ========
        {
            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
    }

    // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
    // Generated using JFormDesigner Evaluation license
    private JPanel dialogPane;
    private JPanel contentPane;
    private JScrollPane scroller;
    private JTextArea infoTextArea;
    private JPanel buttonBar;
    private JButton okButton;
    // JFormDesigner - End of variables declaration  //GEN-END:variables
}