Ensure exit on main window close with System.exit.
[sw/motorsim] / gui / com / billkuker / rocketry / motorsim / visual / workbench / MotorWorkbench.java
index 991c2bb96f716a7d7a8d2fe9b280ed3917a16a5e..f4b2a20e17d0c6ebc11d2f91f93f7f393893b2aa 100644 (file)
@@ -1,5 +1,7 @@
 package com.billkuker.rocketry.motorsim.visual.workbench;\r
 \r
+import java.awt.Image;\r
+import java.awt.Toolkit;\r
 import java.awt.event.ActionEvent;\r
 import java.awt.event.ActionListener;\r
 import java.awt.event.WindowEvent;\r
@@ -15,12 +17,13 @@ import javax.swing.JRadioButtonMenuItem;
 import javax.swing.JSeparator;\r
 \r
 import com.billkuker.rocketry.motorsim.RocketScience.UnitPreference;\r
+import com.billkuker.rocketry.motorsim.debug.DebugFrame;\r
 import com.billkuker.rocketry.motorsim.fuel.FuelsEditor;\r
 import com.billkuker.rocketry.motorsim.visual.RememberJFrame;\r
 \r
 \r
 public class MotorWorkbench extends RememberJFrame {\r
-       public static final String version = "2.0 BETA2";\r
+       public static final String version = "2.0 BETA3";\r
        public static final String name = "MotorSim " + version;\r
        private static final long serialVersionUID = 1L;\r
        \r
@@ -29,9 +32,12 @@ public class MotorWorkbench extends RememberJFrame {
        \r
        private SettingsEditor settings = new SettingsEditor(this);\r
        \r
+       private About about = new About(this);\r
+       \r
        private JFrame fuelEditorFrame = new RememberJFrame(800,600){\r
                private static final long serialVersionUID = 1L;\r
                {\r
+                       setIconImage(getIcon());\r
                        setSize(800, 600);\r
                        add(fuelEditor = new FuelsEditor(this));\r
                        JMenuBar b;\r
@@ -44,10 +50,14 @@ public class MotorWorkbench extends RememberJFrame {
        \r
        private MotorsEditor motorsEditor;\r
 \r
+       public static Image getIcon(){\r
+               return Toolkit.getDefaultToolkit().getImage(MotorWorkbench.class.getResource("icon.png"));\r
+       }\r
        \r
        public MotorWorkbench() {\r
                super(1024, 768);\r
                setTitle(name);\r
+               setIconImage(getIcon());\r
 \r
                motorsEditor = new MotorsEditor(this);\r
                setContentPane(motorsEditor);\r
@@ -114,6 +124,7 @@ public class MotorWorkbench extends RememberJFrame {
                        }\r
                }\r
                MotorWorkbench.this.dispose();\r
+               System.exit(0);\r
        }\r
 \r
        private void addMenu() {\r
@@ -206,6 +217,33 @@ public class MotorWorkbench extends RememberJFrame {
                                                });\r
                                        }\r
                                });\r
+                               add(new JMenu("Help"){\r
+                                       private static final long serialVersionUID = 1L;\r
+                                       {\r
+                                               add(new JMenuItem("About") {\r
+                                                       private static final long serialVersionUID = 1L;\r
+                                                       {\r
+                                                               addActionListener(new ActionListener() {\r
+                                                                       @Override\r
+                                                                       public void actionPerformed(ActionEvent e) {\r
+                                                                               about.setVisible(true);\r
+                                                                       }\r
+                                                               });\r
+                                                       }\r
+                                               });\r
+                                               add(new JMenuItem("Debug") {\r
+                                                       private static final long serialVersionUID = 1L;\r
+                                                       {\r
+                                                               addActionListener(new ActionListener() {\r
+                                                                       @Override\r
+                                                                       public void actionPerformed(ActionEvent e) {\r
+                                                                               new DebugFrame();\r
+                                                                       }\r
+                                                               });\r
+                                                       }\r
+                                               });\r
+                                       }\r
+                               });\r
                        }\r
                });\r
        }\r