home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / java / awt / Menu.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  1.8 KB  |  101 lines

  1. package java.awt;
  2.  
  3. import java.awt.peer.MenuPeer;
  4. import java.util.Vector;
  5.  
  6. public class Menu extends MenuItem implements MenuContainer {
  7.    Vector items;
  8.    boolean tearOff;
  9.    boolean isHelpMenu;
  10.  
  11.    public Menu(String var1) {
  12.       this(var1, false);
  13.    }
  14.  
  15.    public Menu(String var1, boolean var2) {
  16.       super(var1);
  17.       this.items = new Vector();
  18.       this.tearOff = var2;
  19.    }
  20.  
  21.    public synchronized void addNotify() {
  22.       if (super.peer == null) {
  23.          super.peer = Toolkit.getDefaultToolkit().createMenu(this);
  24.       }
  25.  
  26.       int var1 = this.countItems();
  27.  
  28.       for(int var2 = 0; var2 < var1; ++var2) {
  29.          MenuItem var3 = this.getItem(var2);
  30.          var3.parent = this;
  31.          var3.addNotify();
  32.       }
  33.  
  34.    }
  35.  
  36.    public synchronized void removeNotify() {
  37.       int var1 = this.countItems();
  38.  
  39.       for(int var2 = 0; var2 < var1; ++var2) {
  40.          this.getItem(var2).removeNotify();
  41.       }
  42.  
  43.       super.removeNotify();
  44.    }
  45.  
  46.    public boolean isTearOff() {
  47.       return this.tearOff;
  48.    }
  49.  
  50.    public int countItems() {
  51.       return this.items.size();
  52.    }
  53.  
  54.    public MenuItem getItem(int var1) {
  55.       return (MenuItem)this.items.elementAt(var1);
  56.    }
  57.  
  58.    public synchronized MenuItem add(MenuItem var1) {
  59.       if (var1.parent != null) {
  60.          var1.parent.remove(var1);
  61.       }
  62.  
  63.       this.items.addElement(var1);
  64.       var1.parent = this;
  65.       if (super.peer != null) {
  66.          var1.addNotify();
  67.          ((MenuPeer)super.peer).addItem(var1);
  68.       }
  69.  
  70.       return var1;
  71.    }
  72.  
  73.    public void add(String var1) {
  74.       this.add(new MenuItem(var1));
  75.    }
  76.  
  77.    public void addSeparator() {
  78.       this.add("-");
  79.    }
  80.  
  81.    public synchronized void remove(int var1) {
  82.       MenuItem var2 = this.getItem(var1);
  83.       this.items.removeElementAt(var1);
  84.       MenuPeer var3 = (MenuPeer)super.peer;
  85.       if (var3 != null) {
  86.          ((MenuComponent)var2).removeNotify();
  87.          var2.parent = null;
  88.          var3.delItem(var1);
  89.       }
  90.  
  91.    }
  92.  
  93.    public synchronized void remove(MenuComponent var1) {
  94.       int var2 = this.items.indexOf(var1);
  95.       if (var2 >= 0) {
  96.          this.remove(var2);
  97.       }
  98.  
  99.    }
  100. }
  101.