1 import java.awt.*; 2 import java.applet.*; 3 4 public class PopUpFrame extends Applet { 5 Color backcolor = Color.magenta; 6 NewFrame myframe; 7 Canvas justcolor = new Canvas(); 8 Button getframe = new Button("Get Control Frame"); 9 10 11 public void init() { 12 setLayout(new BorderLayout()); 13 myframe = new NewFrame(this); 14 add("South",getframe); 15 justcolor.setBackground(backcolor); 16 add("Center",justcolor); 17 } 18 19 void changecolor(String newcolor) { 20 if (newcolor.equals("blue")) justcolor.setBackground(Color.blue); 21 else if (newcolor.equals("cyan")) justcolor.setBackground(Color.cyan); 22 else if (newcolor.equals("back")) justcolor.setBackground(backcolor); 23 24 } 25 26 public boolean action(Event evt, Object arg) { 27 if (evt.target instanceof Button) 28 myframe.show(); 29 return true; 30 } 31 } 32 33 class NewFrame extends Frame { 34 Button closewindow = new Button("Quit"); 35 Button bluebutton = new Button("Change to Blue"); 36 Button cyanbutton = new Button("Change to Cyan"); 37 PopUpFrame outerparent; 38 39 NewFrame(PopUpFrame parent) { 40 outerparent = parent; 41 setTitle("Change Color"); 42 resize(300,300); 43 setLayout(new GridLayout(3,1,2,2)); 44 add(bluebutton); 45 add(cyanbutton); 46 add(closewindow); 47 } 48 49 public boolean action (Event evt, Object arg) { 50 if (evt.target instanceof Button) { 51 if(evt.target == bluebutton) outerparent.changecolor("blue"); 52 if(evt.target == cyanbutton) outerparent.changecolor("cyan"); 53 if(evt.target == closewindow) 54 { hide(); outerparent.changecolor("back");} 55 } 56 return true; 57 } 58 }