import java.beans.PropertyVetoException;\r
import java.io.IOException;\r
import java.util.HashMap;\r
+import java.util.List;\r
import java.util.Map;\r
import java.util.Vector;\r
\r
private static final int GRAIN_TAB = 1;\r
private static final int BURN_TAB = 2;\r
\r
- @SuppressWarnings("unchecked")\r
- private Class[] grainTypes = { CoredCylindricalGrain.class, Finocyl.class,\r
- Moonburner.class, RodAndTubeGrain.class, CSlot.class, EndBurner.class };\r
+ private List<Class<? extends Grain>> grainTypes = new Vector<Class<? extends Grain>>();\r
+ {\r
+ grainTypes.add(CoredCylindricalGrain.class);\r
+ grainTypes.add(Finocyl.class);\r
+ grainTypes.add(Moonburner.class);\r
+ grainTypes.add(RodAndTubeGrain.class);\r
+ grainTypes.add(CSlot.class);\r
+ grainTypes.add(EndBurner.class);\r
+ }\r
\r
private abstract class Chooser<T> extends JPanel {\r
private static final long serialVersionUID = 1L;\r
- private Class<? extends T>[] types;\r
+ private List<Class<? extends T>> types;\r
private Map<Class<? extends T>, T> old = new HashMap<Class<? extends T>, T>();\r
\r
- public Chooser(T initial, Class<? extends T>... ts) {\r
+ @SuppressWarnings("unchecked")\r
+ public Chooser(T initial, List<Class<? extends T>> ts) {\r
types = ts;\r
if ( initial != null )\r
old.put((Class<? extends T>)initial.getClass(), initial);\r
}\r
});\r
nameAndFuel.add(new JLabel("Fuel:"));\r
- nameAndFuel.add( new JComboBox(availableFuels){{\r
- setMinimumSize(new Dimension(200, 20));\r
- setMaximumSize(new Dimension(Short.MAX_VALUE, 20));\r
- addActionListener(new ActionListener(){\r
- @Override\r
- public void actionPerformed(ActionEvent e) {\r
- motor.setFuel((Fuel)getSelectedItem());\r
- System.out.println("FUEL CHANGED");\r
- }});\r
- }});\r
+ nameAndFuel.add( new JComboBox(availableFuels){\r
+ private static final long serialVersionUID = 1L;\r
+ {\r
+ setMinimumSize(new Dimension(200, 20));\r
+ setMaximumSize(new Dimension(Short.MAX_VALUE, 20));\r
+ addActionListener(new ActionListener(){\r
+ @Override\r
+ public void actionPerformed(ActionEvent e) {\r
+ motor.setFuel((Fuel)getSelectedItem());\r
+ System.out.println("FUEL CHANGED");\r
+ }});\r
+ }\r
+ });\r
nameAndFuel.add(Box.createVerticalGlue());\r
parts.add(nameAndFuel);\r
\r
add(bt = new BurnTab(), BURN_TAB);\r
}\r
\r
- @Deprecated\r
public static Motor defaultMotor() {\r
Motor m = new Motor();\r
m.setName("Example Motor");\r
import java.beans.PropertyChangeListener;\r
import java.io.File;\r
import java.util.HashMap;\r
+import java.util.List;\r
import java.util.Vector;\r
\r
import javax.swing.ButtonGroup;\r
public class MotorWorkbench extends JFrame implements TreeSelectionListener {\r
private static final long serialVersionUID = 1L;\r
\r
- @SuppressWarnings("unchecked")\r
- private Class[] fuelTypes = { KNSB.class, KNSU.class, KNER.class,\r
- KNDX.class };\r
+ private List<Class<? extends Fuel>> fuelTypes = new Vector<Class<? extends Fuel>>();\r
+ {\r
+ fuelTypes.add(KNSB.class);\r
+ fuelTypes.add(KNSU.class);\r
+ fuelTypes.add(KNER.class);\r
+ fuelTypes.add(KNDX.class);\r
+ }\r
\r
private JPanel top;\r
private JSplitPane split;\r
\r
top.add(split, BorderLayout.CENTER);\r
\r
- for ( Class<Fuel> f : fuelTypes){\r
+ for ( Class<? extends Fuel> f : fuelTypes){\r
try {\r
addFuel(f.newInstance());\r
} catch (InstantiationException e) {\r
\r
}\r
});\r
- add(new JMenuItem("Save Fuel") {});\r
+ add(new JMenuItem("Save Fuel") {\r
+ private static final long serialVersionUID = 1L;\r
+ });\r
add(new JSeparator());\r
add(new JMenuItem("Export .ENG"){\r
private static final long serialVersionUID = 1L;\r