home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIPHEFT062001.ISO / browser / nc32lyc / comm.z / java40.jar / java / awt / PopupMenu.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-08-15  |  1.9 KB  |  51 lines

  1. package java.awt;
  2.  
  3. import java.awt.peer.PopupMenuPeer;
  4.  
  5. public class PopupMenu extends Menu {
  6.    private static final String base = "popup";
  7.    static int nameCounter;
  8.    private static final long serialVersionUID = -4620452533522760060L;
  9.  
  10.    public PopupMenu() {
  11.       this("");
  12.    }
  13.  
  14.    public PopupMenu(String var1) {
  15.       super(var1);
  16.       super.name = "popup" + nameCounter++;
  17.    }
  18.  
  19.    public synchronized void addNotify() {
  20.       if (super.peer == null) {
  21.          super.peer = Toolkit.getDefaultToolkit().createPopupMenu(this);
  22.       }
  23.  
  24.       int var1 = ((Menu)this).getItemCount();
  25.  
  26.       for(int var2 = 0; var2 < var1; ++var2) {
  27.          MenuItem var3 = ((Menu)this).getItem(var2);
  28.          var3.parent = this;
  29.          var3.addNotify();
  30.       }
  31.  
  32.    }
  33.  
  34.    public void show(Component var1, int var2, int var3) {
  35.       Component var4 = (Component)super.parent;
  36.       if (var4 == null) {
  37.          throw new NullPointerException("parent is null");
  38.       } else if (var4 != var1 && var4 instanceof Container && !((Container)var4).isAncestorOf(var1)) {
  39.          throw new IllegalArgumentException("origin not in parent's hierarchy");
  40.       } else if (var4.getPeer() != null && var4.isShowing()) {
  41.          if (super.peer == null) {
  42.             this.addNotify();
  43.          }
  44.  
  45.          ((PopupMenuPeer)super.peer).show(new Event(var1, 0L, 501, var2, var3, 0, 0));
  46.       } else {
  47.          throw new RuntimeException("parent not showing on screen");
  48.       }
  49.    }
  50. }
  51.