home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD 31 / SUPERCDa.iso / Inet / HotJava / hjava.exe / Windows / resource / jre / lib / rt.jar / java / awt / PopupMenu.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-11  |  2.1 KB  |  71 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.    }
  17.  
  18.    String constructComponentName() {
  19.       return "popup" + nameCounter++;
  20.    }
  21.  
  22.    public void addNotify() {
  23.       Object var1 = ((MenuComponent)this).getTreeLock();
  24.       synchronized(var1){}
  25.  
  26.       try {
  27.          if (super.peer == null) {
  28.             super.peer = Toolkit.getDefaultToolkit().createPopupMenu(this);
  29.          }
  30.  
  31.          int var3 = ((Menu)this).getItemCount();
  32.  
  33.          for(int var4 = 0; var4 < var3; ++var4) {
  34.             MenuItem var5 = ((Menu)this).getItem(var4);
  35.             var5.parent = this;
  36.             var5.addNotify();
  37.          }
  38.       } catch (Throwable var7) {
  39.          throw var7;
  40.       }
  41.  
  42.    }
  43.  
  44.    public void show(Component var1, int var2, int var3) {
  45.       Component var4 = (Component)super.parent;
  46.       if (var4 == null) {
  47.          throw new NullPointerException("parent is null");
  48.       } else if (var4 != var1 && var4 instanceof Container && !((Container)var4).isAncestorOf(var1)) {
  49.          throw new IllegalArgumentException("origin not in parent's hierarchy");
  50.       } else if (var4.getPeer() != null && var4.isShowing()) {
  51.          if (super.peer == null) {
  52.             this.addNotify();
  53.          }
  54.  
  55.          Object var5 = ((MenuComponent)this).getTreeLock();
  56.          synchronized(var5){}
  57.  
  58.          try {
  59.             if (super.peer != null) {
  60.                ((PopupMenuPeer)super.peer).show(new Event(var1, 0L, 501, var2, var3, 0, 0));
  61.             }
  62.          } catch (Throwable var7) {
  63.             throw var7;
  64.          }
  65.  
  66.       } else {
  67.          throw new RuntimeException("parent not showing on screen");
  68.       }
  69.    }
  70. }
  71.