Figure 2: A partial listing of the code generator Java source code
import java.awt.*; import java.awt.event.*; import java.io.*; public class Skeleton { public static void main(String args[]) { new SkeletonFrame("Skeleton"); } } class SkeletonFrame extends Frame implements ActionListener, TextListener, ItemListener { Panel panel1 = new Panel(); Panel panel2 = new Panel(); Panel panel3 = new Panel(); Panel panel4 = new Panel(); Panel panel4a = new Panel(); Panel panel5 = new Panel(); TextField fileName = new TextField(30); CheckboxGroup programType = new CheckboxGroup(); Checkbox consoleApp = new Checkbox("Console",programType,true); Checkbox guiApp = new Checkbox("GUI",programType,false); Checkbox applet = new Checkbox("Applet",programType,false); Checkbox appletGUI = new Checkbox("Applet/GUI",programType,false); CheckboxGroup jdkVer = new CheckboxGroup(); Checkbox jdk102 = new Checkbox("JDK 1.0.2",jdkVer,true); Checkbox jdk11x = new Checkbox("JDK 1.1.x",jdkVer,false); Checkbox jdk12x = new Checkbox("JDK 1.2.x",jdkVer,false); Checkbox guiMenu = new Checkbox("Add Standard Menu to GUI Program",false); CheckboxGroup componentType = new CheckboxGroup(); Checkbox awt = new Checkbox("AWT Components",componentType,true); Checkbox swing = new Checkbox("Swing Components",componentType,false); Button generate = new Button("Generate"); Button close = new Button(" Close "); Button about = new Button("About..."); String newLine = System.getProperty("line.separator"); int newLineLen = newLine.length(); SkeletonFrame(String title) { ... } public void itemStateChanged(ItemEvent evt) { ... } public void textValueChanged(TextEvent evt) { ... } public void actionPerformed(ActionEvent evt) { ... } public boolean generateConsoleApp(FileWriter fw, String name, Object obj) { ... } public boolean generateApplet(FileWriter fw, String name, Object obj) { ... } public boolean generateAppletGUI(FileWriter fw, String name, Object obj, boolean guiOnly) { ... } public void addMenuListener(FileWriter fw) throws IOException { ... } public void addActionPerformed(FileWriter fw) throws IOException { ... } public void createAWTMenuComponents(FileWriter fw) throws IOException { ... } public void createSwingMenuComponents(FileWriter fw) throws IOException { ... } public void addMenuComponents(FileWriter fw) throws IOException { ... } } class MessageBox extends Dialog implements ActionListener { Panel panel1 = new Panel(); Panel panel2 = new Panel(); Button ok = new Button("OK"); MessageBox(Frame owner,String title,String[] message) { ... } public void actionPerformed(ActionEvent evt) { ... } }