1 package org.opensync.engine.admin.gui;
2
3 import java.awt.AWTEvent;
4 import java.awt.BorderLayout;
5 import java.awt.FlowLayout;
6 import java.awt.Frame;
7 import java.awt.GridLayout;
8 import java.awt.event.ActionEvent;
9 import java.awt.event.ActionListener;
10 import java.awt.event.WindowEvent;
11
12 import javax.swing.BorderFactory;
13 import javax.swing.ImageIcon;
14 import javax.swing.JButton;
15 import javax.swing.JDialog;
16 import javax.swing.JLabel;
17 import javax.swing.JPanel;
18
19 import org.opensync.engine.util.I18n;
20
21 /***
22 *
23 * @version 1.0
24 * @author SOFTMED
25 *
26 */
27
28 public class AboutBox extends JDialog implements ActionListener {
29
30 JPanel panel = new JPanel();
31 JPanel pnlInfo = new JPanel();
32 JPanel pnlButtons = new JPanel();
33 JPanel insetsPanel2 = new JPanel();
34 JPanel insetsPanel3 = new JPanel();
35 JButton btOk = new JButton();
36 JLabel imageLabel = new JLabel();
37 JLabel lblName = new JLabel();
38 JLabel lblVersion = new JLabel();
39 JLabel lblCopyright = new JLabel();
40 JLabel lblCorporateName = new JLabel();
41 BorderLayout blPrincipal = new BorderLayout();
42 BorderLayout borderLayout2 = new BorderLayout();
43 FlowLayout layout = new FlowLayout();
44 GridLayout gridLayout = new GridLayout();
45 String product = I18n.getInstance().get("gui.product");
46 String version = I18n.getInstance().get("gui.version");
47 String copyright = I18n.getInstance().get("gui.copyright");
48 String comments = I18n.getInstance().get("gui.comments");
49
50 /***
51 * @param parent
52 * @exception Exception
53 */
54 public AboutBox(Frame parent)throws Exception {
55 super(parent);
56 enableEvents(AWTEvent.WINDOW_EVENT_MASK);
57 jbInit();
58 pack();
59 }
60 /***Component initialization*/
61 private void jbInit() throws Exception {
62 imageLabel.setIcon(new ImageIcon(AboutBox.class.getResource("/images/about.gif")));
63 this.setTitle(I18n.getInstance().get("gui.about.title"));
64 setResizable(false);
65 panel.setLayout(blPrincipal);
66 pnlInfo.setLayout(borderLayout2);
67 pnlButtons.setLayout(layout);
68 insetsPanel2.setLayout(layout);
69 insetsPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
70 gridLayout.setRows(4);
71 gridLayout.setColumns(1);
72 lblName.setText(product);
73 lblVersion.setText(version);
74 lblCopyright.setText(copyright);
75 lblCorporateName.setText(comments);
76 insetsPanel3.setLayout(gridLayout);
77 insetsPanel3.setBorder(BorderFactory.createEmptyBorder(10, 60, 10, 10));
78 btOk.setText(I18n.getInstance().get("common.ok"));
79 btOk.addActionListener(this);
80 insetsPanel2.add(imageLabel, null);
81 pnlInfo.add(insetsPanel2, BorderLayout.WEST);
82 this.getContentPane().add(panel, null);
83 insetsPanel3.add(lblName, null);
84 insetsPanel3.add(lblVersion, null);
85 insetsPanel3.add(lblCopyright, null);
86 insetsPanel3.add(lblCorporateName, null);
87 pnlInfo.add(insetsPanel3, BorderLayout.CENTER);
88 pnlButtons.add(btOk, null);
89 panel.add(pnlButtons, BorderLayout.SOUTH);
90 panel.add(pnlInfo, BorderLayout.NORTH);
91 }
92 /***
93 * Overridden so we can exit when window is closed
94 *
95 * @param e
96 */
97 protected void processWindowEvent(WindowEvent e) {
98 if (e.getID() == WindowEvent.WINDOW_CLOSING) {
99 cancel();
100 }
101 super.processWindowEvent(e);
102 }
103 /***Close the dialog*/
104 void cancel() {
105 dispose();
106 }
107 /***
108 * Close the dialog on a button event
109 *
110 * @param e
111 */
112 public void actionPerformed(ActionEvent e) {
113 if (e.getSource() == btOk) {
114 cancel();
115 }
116 }
117 }