1 package net.sf.openrocket.gui.dialogs;
3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
6 import javax.swing.JButton;
7 import javax.swing.JDialog;
8 import javax.swing.JFrame;
9 import javax.swing.JLabel;
10 import javax.swing.JPanel;
12 import net.miginfocom.swing.MigLayout;
13 import net.sf.openrocket.gui.components.ResizeLabel;
14 import net.sf.openrocket.gui.components.URLLabel;
15 import net.sf.openrocket.util.GUIUtil;
16 import net.sf.openrocket.util.Icons;
17 import net.sf.openrocket.util.Prefs;
19 public class AboutDialog extends JDialog {
21 public static final String OPENROCKET_URL = "http://openrocket.sourceforge.net/";
24 public AboutDialog(JFrame parent) {
27 final String version = Prefs.getVersion();
29 JPanel panel = new JPanel(new MigLayout("fill"));
31 panel.add(new JLabel(Icons.loadImageIcon("pix/icon/icon-about.png", "OpenRocket")),
34 panel.add(new ResizeLabel("OpenRocket", 20), "ax 50%, growy, wrap para");
35 panel.add(new ResizeLabel("Version " + version, 3), "ax 50%, growy, wrap rel");
37 String source = Prefs.getBuildSource();
38 if (!Prefs.DEFAULT_BUILD_SOURCE.equalsIgnoreCase(source)) {
39 panel.add(new ResizeLabel("Distributed by " + source, -1),
40 "ax 50%, growy, wrap para");
42 panel.add(new ResizeLabel(" ", -1), "ax 50%, growy, wrap para");
45 panel.add(new ResizeLabel("Copyright \u00A9 2007-2009 Sampo Niskanen"),
46 "ax 50%, growy, wrap para");
48 panel.add(new URLLabel(OPENROCKET_URL), "ax 50%, growy, wrap para");
51 JButton close = new JButton("Close");
52 close.addActionListener(new ActionListener() {
54 public void actionPerformed(ActionEvent e) {
55 AboutDialog.this.dispose();
58 panel.add(close, "spanx, right");
61 this.setTitle("OpenRocket " + version);
63 this.setResizable(false);
64 this.setLocationRelativeTo(parent);
65 GUIUtil.setDefaultButton(close);
66 GUIUtil.installEscapeCloseOperation(this);