home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / awt / PopupMenu.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  2.0 KB  |  58 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 void addNotify() {
  20.       Object var1 = ((MenuComponent)this).getTreeLock();
  21.       synchronized(var1){}
  22.  
  23.       try {
  24.          if (super.peer == null) {
  25.             super.peer = Toolkit.getDefaultToolkit().createPopupMenu(this);
  26.          }
  27.  
  28.          int var3 = ((Menu)this).getItemCount();
  29.  
  30.          for(int var4 = 0; var4 < var3; ++var4) {
  31.             MenuItem var5 = ((Menu)this).getItem(var4);
  32.             var5.parent = this;
  33.             var5.addNotify();
  34.          }
  35.       } catch (Throwable var7) {
  36.          throw var7;
  37.       }
  38.  
  39.    }
  40.  
  41.    public void show(Component var1, int var2, int var3) {
  42.       Component var4 = (Component)super.parent;
  43.       if (var4 == null) {
  44.          throw new NullPointerException("parent is null");
  45.       } else if (var4 != var1 && var4 instanceof Container && !((Container)var4).isAncestorOf(var1)) {
  46.          throw new IllegalArgumentException("origin not in parent's hierarchy");
  47.       } else if (var4.getPeer() != null && var4.isShowing()) {
  48.          if (super.peer == null) {
  49.             this.addNotify();
  50.          }
  51.  
  52.          ((PopupMenuPeer)super.peer).show(new Event(var1, 0L, 501, var2, var3, 0, 0));
  53.       } else {
  54.          throw new RuntimeException("parent not showing on screen");
  55.       }
  56.    }
  57. }
  58.