--- /dev/null
+import javax.swing.UIManager;
+
+public class MotorWorkbench {
+
+ public static void main(String args[]) throws Exception {
+
+ try {
+ System.setProperty("apple.laf.useScreenMenuBar", "true");
+ System.setProperty(
+ "com.apple.mrj.application.apple.menu.about.name",
+ "MotorWorkbench");
+ UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+ new com.billkuker.rocketry.motorsim.visual.workbench.MotorWorkbench().setVisible(true);
+ }
+
+}
import java.awt.BorderLayout;\r
import java.awt.event.ActionEvent;\r
import java.awt.event.ActionListener;\r
+import java.awt.event.FocusEvent;\r
+import java.awt.event.FocusListener;\r
import java.beans.PropertyChangeEvent;\r
import java.beans.PropertyChangeListener;\r
import java.beans.PropertyVetoException;\r
import javax.measure.quantity.Pressure;\r
import javax.measure.quantity.Velocity;\r
import javax.measure.unit.SI;\r
+import javax.media.jai.operator.AddDescriptor;\r
import javax.swing.BoxLayout;\r
import javax.swing.JButton;\r
import javax.swing.JFrame;\r
import javax.swing.JPanel;\r
import javax.swing.JSplitPane;\r
import javax.swing.JTabbedPane;\r
+import javax.swing.JTextField;\r
import javax.swing.SwingUtilities;\r
import javax.swing.UIManager;\r
import javax.swing.WindowConstants;\r
+import javax.swing.event.ChangeEvent;\r
+import javax.swing.event.ChangeListener;\r
import javax.swing.event.DocumentEvent;\r
import javax.swing.event.DocumentListener;\r
\r
setLeftComponent(parts);\r
setRightComponent(new NozzlePanel(n));\r
\r
+ parts.add(new JTextField(motor.getName()){\r
+ {\r
+ final JTextField t = this;\r
+ addFocusListener(new FocusListener() {\r
+ \r
+ @Override\r
+ public void focusLost(FocusEvent e) {\r
+ String n = t.getText();\r
+ if ( !"".equals(n) && !n.equals(motor.getName()) ){\r
+ System.out.println("Name Changed");\r
+ motor.setName(n);\r
+ } else {\r
+ t.setText(motor.getName());\r
+ }\r
+ }\r
+ \r
+ @Override\r
+ public void focusGained(FocusEvent e) {\r
+ \r
+ }\r
+ });\r
+ \r
+ }\r
+ });\r
+ \r
parts.add(new Editor(c));\r
parts.add(new Editor(n));\r
\r
\r
public void propertyChange(PropertyChangeEvent evt) {\r
reText();\r
- bt.reBurn();\r
+ //Dont re-burn for a name change!\r
+ if ( !evt.getPropertyName().equals("Name") )\r
+ bt.reBurn();\r
}\r
\r
public void changedUpdate(DocumentEvent e) {\r
motors.addTab(title, e);\r
}\r
\r
- public static void main(String args[]) throws Exception {\r
-\r
- try {\r
- System.setProperty("apple.laf.useScreenMenuBar", "true");\r
- System.setProperty(\r
- "com.apple.mrj.application.apple.menu.about.name",\r
- "MotorWorkbench");\r
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());\r
- } catch (Exception e1) {\r
- e1.printStackTrace();\r
- }\r
- new MotorWorkbench().setVisible(true);\r
- }\r
-\r
@Override\r
public void valueChanged(TreeSelectionEvent e) {\r
Motor m = getMotor(e.getPath());\r
+ \r
+ if ( m == null )\r
+ return;\r
\r
motors.setSelectedComponent(m2e.get(m));\r
\r