import java.awt.*; import java.applet.*; import java.util.Vector; import java.util.Enumeration; class Revise extends Dialog{ Button buttonOK; TextField nameField, sizeField; double oldsize; Model theModel; DrawArea drawArea; MyWindow myWindow; public Revise(MyWindow aWindow, boolean modal, Model aModel, DrawArea myDrawArea){ super(aWindow, modal); setTitle("Revise Fractal"); setResizable(false); setLayout(new BorderLayout()); theModel = aModel; drawArea = myDrawArea; myWindow = aWindow; oldsize = theModel.size; Panel aPanel = new Panel(); add("East", aPanel); Panel bPanel = new Panel(); add("West", bPanel); Panel cPanel = new Panel(); cPanel.setLayout(new BorderLayout()); add("Center", cPanel); Button buttonCancel = new Button("Cancel"); buttonOK = new Button("OK"); Panel p1 = new Panel(); try { p1.setLayout(new GridLayout(4, 1)); } catch (Exception e) ; Label one = new Label("Name:"); p1.add(one); nameField = new TextField(theModel.name, 20); p1.add(nameField); Label three = new Label("Size:"); p1.add(three); Integer oldValue = new Integer((int)theModel.size); sizeField = new TextField(oldValue.toString(), 20); p1.add(sizeField); cPanel.add("North", p1); Panel p = new Panel(); p.setLayout(new FlowLayout(FlowLayout.RIGHT, 15, 15)); p.add(buttonCancel); p.add(buttonOK); cPanel.add("South", p); pack(); move(60, 60); show(); } public boolean handleEvent(Event e) { switch (e.id) { case Event.WINDOW_DESTROY: dispose(); return true; } return super.handleEvent(e); } public boolean action(Event e, Object arg){ if (e.target instanceof Button) { if (e.target == buttonOK) { try { Integer newSize = new Integer(sizeField.getText()); int newsize = newSize.intValue(); if (newsize < 50) newsize = 50; if (newsize > 1000) newsize = 1000; theModel.size = (double)newsize; } catch (Exception except) { theModel.size = oldsize; } String myString = nameField.getText(); if (!myWindow.modelStringExists(myString)) { theModel.name = myString; myWindow.choiceGroup.getCurrent().setLabel(myString); } drawArea.draw(); } dispose(); return true; } return false; } } class Prelim extends Dialog{ Button buttonOK; TextField sizeField; MyWindow myWindow; public Prelim(MyWindow aWindow, boolean modal){ super(aWindow, modal); setTitle("Segments"); setResizable(false); myWindow = aWindow; setLayout(new BorderLayout()); Panel aPanel = new Panel(); add("East", aPanel); Panel bPanel = new Panel(); add("West", bPanel); Panel cPanel = new Panel(); cPanel.setLayout(new BorderLayout()); add("Center", cPanel); Panel p = new Panel(); p.setLayout(new FlowLayout(FlowLayout.RIGHT, 15, 15)); Button buttonCancel = new Button("Cancel"); buttonOK = new Button("OK"); p.add(buttonCancel); p.add(buttonOK); cPanel.add("South", p); Panel p1 = new Panel(); try { p1.setLayout(new GridLayout(3, 1)); } catch (Exception e) ; Label one = new Label("Segments in each line:"); p1.add(one); sizeField = new TextField("4", 3); p1.add(sizeField); cPanel.add("North", p1); pack(); move(60, 60); show(); } public boolean handleEvent(Event e) { switch (e.id) { case Event.WINDOW_DESTROY: dispose(); return true; } return super.handleEvent(e); } public boolean action(Event e, Object arg){ int newsize; if (e.target instanceof Button) { if (e.target == buttonOK) { try { Integer newSize = new Integer(sizeField.getText()); newsize = newSize.intValue(); if (newsize < 3) newsize = 3; if (newsize > 10) newsize = 10; } catch (Exception except) { newsize = 4; } dispose(); ReviseGenerator myReviseGenerator = new ReviseGenerator(myWindow, true, null, newsize); /* myReviseGenerator.move(60, 60); myReviseGenerator.show(); */ return true; } dispose(); return true; } return false; } }