home *** CD-ROM | disk | FTP | other *** search
/ Java by Example / jbecd.bin / JBE-CD / NTUsers / JBECODE.ZIP / JavaByExample / chap23 / MenuFrameApplet.java < prev    next >
Text File  |  1996-03-07  |  3KB  |  109 lines

  1. import java.awt.*;
  2. import java.applet.*;
  3.  
  4. public class MenuFrameApplet extends Applet
  5. {
  6.     MenuFrameFrame frame;
  7.     Button button;
  8.  
  9.     public void init()
  10.     {
  11.           frame = new MenuFrameFrame("MenuBar Window");
  12.  
  13.           button = new Button("Show Window");
  14.           add(button);
  15.     }
  16.  
  17.     public boolean action(Event evt, Object arg)
  18.     {
  19.         boolean visible = frame.isShowing();
  20.         if (visible)
  21.         {
  22.             frame.hide();
  23.             button.setLabel("Show Window");
  24.         }
  25.         else
  26.         {
  27.             frame.show();
  28.             button.setLabel("Hide Window");
  29.         }
  30.  
  31.         return true;
  32.     }
  33. }
  34.  
  35. class MenuFrameFrame extends Frame
  36. {
  37.     MenuBar menuBar;
  38.     String str;
  39.     Frame frame;
  40.  
  41.     MenuFrameFrame(String title)
  42.     {
  43.         super(title);
  44.         menuBar = new MenuBar();
  45.         setMenuBar(menuBar);
  46.  
  47.         Menu menu = new Menu("Test");
  48.         menuBar.add(menu);
  49.         MenuItem item = new MenuItem("Command 1");
  50.         menu.add(item);
  51.         item = new MenuItem("Command 2");
  52.         menu.add(item);
  53.         item = new MenuItem("-");
  54.         menu.add(item);
  55.         CheckboxMenuItem checkItem =
  56.             new CheckboxMenuItem("Check");
  57.         menu.add(checkItem);
  58.  
  59.         menu = new Menu("View");
  60.         menuBar.add(menu);
  61.         checkItem = new CheckboxMenuItem("Window");
  62.         menu.add(checkItem);
  63.  
  64.         str = "";
  65.         Font font = new Font("TimesRoman", Font.BOLD, 20);
  66.         setFont(font);
  67.  
  68.         frame = new Frame("Second Window");
  69.     }
  70.  
  71.     public void paint(Graphics g)
  72.     {
  73.         resize(300, 250);
  74.         g.drawString(str, 20, 100);
  75.     }
  76.  
  77.     public boolean action(Event evt, Object arg)
  78.     {
  79.         if (evt.target instanceof MenuItem)
  80.         {
  81.             if (arg == "Command 1")
  82.                 str = "You selected Command 1";
  83.             else if (arg == "Command 2")
  84.                 str = "You selected Command 2";
  85.             else if (arg == "Check")
  86.                 str = "You selected the Check item";
  87.             else if (arg == "Window")
  88.                 ShowHideWindow();
  89.  
  90.             repaint();
  91.             return true;
  92.         }
  93.         else
  94.             return false;
  95.     }
  96.  
  97.     protected void ShowHideWindow()
  98.     {
  99.         boolean visible = frame.isShowing();
  100.         if (visible)
  101.             frame.hide();
  102.         else
  103.         {
  104.             frame.show();
  105.             frame.resize(150, 150);
  106.         }
  107.     }
  108. }
  109.