home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win95 / sieciowe / hotja32.lzh / hotjava / classsrc / awt / menu.java < prev    next >
Text File  |  1995-08-11  |  2KB  |  94 lines

  1. /*
  2.  * @(#)Menu.java    1.16 95/01/31 Sami Shaio
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19. package awt;
  20.  
  21. import java.util.*;
  22.  
  23. /**
  24.  * A Menu that is a component of a menu bar.
  25.  *
  26.  * @version 1.16 31 Jan 1995
  27.  * @author Sami Shaio
  28.  */
  29. public class Menu extends Component  {
  30.     Vector        pItems;
  31.     WServer        wServer;
  32.     Font        defaultFont;
  33.     public String    title;
  34.  
  35.     /** Constructs a new Menu with the given title. It will be placed
  36.      * at the end of any existing menus in mb.
  37.      */
  38.     public Menu(String title, MenuBar mb) {
  39.     this(title, mb, true);
  40.     }
  41.  
  42.     /** Constructs a new Menu with the given title. The menu will be able
  43.      * to be torn off if tearOff is true.
  44.      */
  45.     public Menu(String title, MenuBar mb, boolean tearOff) {
  46.     super(null, "");
  47.     title = title;
  48.     pItems = new Vector();
  49.     wServer = mb.parent.wServer;
  50.     defaultFont = mb.defaultFont;
  51.     wServer.menuCreate(this, title, mb, tearOff);
  52.     mb.addMenu(this);
  53.     }
  54.  
  55.     /** Returns the number of elements in this menu.
  56.       */
  57.     public int nItems() {
  58.     return pItems.size();
  59.     }
  60.  
  61.     /**
  62.      * Adds a separator line to the menu at the current position.
  63.      */
  64.     public void addSeparator() {
  65.     wServer.menuAddSeparator(this);
  66.     }
  67.  
  68.     /** Shows this menu. */
  69.     public void show() {
  70.     wServer.menuShow(this);
  71.     }
  72.  
  73.     /** Hides this menu. */
  74.     public void hide() {
  75.     wServer.menuHide(this);
  76.     }
  77.     
  78.     /** Destroys this menu. */
  79.     public void dispose() {
  80.     wServer.menuDispose(this);
  81.     }
  82.  
  83.     /** Override this method to handle any items that are selected.
  84.      * @param index is the index of the item that was selected.
  85.      */
  86.     public void selected(int index) {
  87.     }
  88.  
  89.     void addMenuItem(MenuItem mi) {
  90.     pItems.addElement(mi);
  91.     }
  92. }
  93.  
  94.