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

  1. /*
  2.  * @(#)MenuBar.java    1.19 95/02/03 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.lang.*;
  22. import java.util.*;
  23.  
  24. /**
  25.  * A class that encapsulates the platform's concept of a menubar bound
  26.  * to a Frame.
  27.  *
  28.  * @version 1.19 03 Feb 1995
  29.  * @author Sami Shaio
  30.  *
  31.  */
  32. public class MenuBar extends Component {
  33.     Vector    pMenus;
  34.     Font    defaultFont;
  35.  
  36.     /** Constructs a MenuBar for the given Frame f. */
  37.     public MenuBar(Frame f) {
  38.     super(f,"*Menu*");
  39.     defaultFont = f.defaultFont;
  40.     f.wServer.menuBarCreate(this, f);
  41.     f.menuBar = this;
  42.     pMenus = new Vector();
  43.     }
  44.  
  45.     /** Destroys this menu bar. */
  46.     public void dispose() {
  47.     parent.wServer.menuBarDispose(this);
  48.     }
  49.  
  50.  
  51.     void   addMenu(Menu m) {
  52.     pMenus.addElement(m);
  53.     }
  54.  
  55.     int    nMenus() {
  56.     return pMenus.size();
  57.     }
  58.  
  59.     /**
  60.      * Return the minimum size of the object
  61.      */
  62.     public Dimension minDimension() {
  63.     // add up the widths of all the menus
  64.     Dimension    d = new Dimension(0,0);
  65.  
  66.     d.height = 25;
  67.     d.width = (pMenus.size() * 100);
  68.  
  69.     return d;
  70.     }
  71.  
  72.     public Dimension getPreferredSize() {
  73.     if (dim == null) {
  74.         dim = new Dimension(parent.width, 25);
  75.     }
  76.     
  77.     return dim;
  78.     }
  79. }
  80.  
  81.