home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.peer.PopupMenuPeer;
-
- public class PopupMenu extends Menu {
- private static final String base = "popup";
- static int nameCounter;
- private static final long serialVersionUID = -4620452533522760060L;
-
- public PopupMenu() {
- this("");
- }
-
- public PopupMenu(String var1) {
- super(var1);
- super.name = "popup" + nameCounter++;
- }
-
- public void addNotify() {
- Object var1 = ((MenuComponent)this).getTreeLock();
- synchronized(var1){}
-
- try {
- if (super.peer == null) {
- super.peer = Toolkit.getDefaultToolkit().createPopupMenu(this);
- }
-
- int var3 = ((Menu)this).getItemCount();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- MenuItem var5 = ((Menu)this).getItem(var4);
- var5.parent = this;
- var5.addNotify();
- }
- } catch (Throwable var7) {
- throw var7;
- }
-
- }
-
- public void show(Component var1, int var2, int var3) {
- Component var4 = (Component)super.parent;
- if (var4 == null) {
- throw new NullPointerException("parent is null");
- } else if (var4 != var1 && var4 instanceof Container && !((Container)var4).isAncestorOf(var1)) {
- throw new IllegalArgumentException("origin not in parent's hierarchy");
- } else if (var4.getPeer() != null && var4.isShowing()) {
- if (super.peer == null) {
- this.addNotify();
- }
-
- ((PopupMenuPeer)super.peer).show(new Event(var1, 0L, 501, var2, var3, 0, 0));
- } else {
- throw new RuntimeException("parent not showing on screen");
- }
- }
- }
-