// FinalApp.java by Dr. I. for CS 102 during Spring, 2001 // This windows application answers question 11 on exam 3 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class FinalApp extends Frame implements ActionListener { public FinalApp() { MenuBar mb = new MenuBar(); Menu m = new Menu("File"); MenuItem mi = new MenuItem("New"); m.add(mi); mb.add(m); setMenuBar(mb); mi.addActionListener(this); } public void actionPerformed(ActionEvent ae) { FinalFrame ff = new FinalFrame(); ff.setSize(50,50); ff.show(); } public static void main(String[] args) { Frame fa = new FinalApp(); fa.show(); } } class FinalFrame extends Frame implements ItemListener { public FinalFrame() { t = new Checkbox("Text area",ti,false); t.addItemListener(this); i = new Checkbox("Image",ti,false); i.addItemListener(this); setLayout(new GridLayout(2,1)); add(t); add(i); } public void itemStateChanged(ItemEvent ie) { if (t.getState()) { ft.show(); } else { // must be i fi.show(); } } private CheckboxGroup ti = new CheckboxGroup(); private Checkbox t; private Checkbox i; private FinalText ft = new FinalText(this,false); private FinalImage fi = new FinalImage(); } class FinalText extends Dialog { public FinalText(Frame o, boolean m) { super(o,m); setSize(50,50); add(new TextArea(5,10)); } } class FinalImage extends JDialog { public FinalImage() { setSize(50,50); JLabel jl = new JLabel("Image"); getContentPane().add(jl); jl.setIcon(new ImageIcon("tcllogo.gif")); } }