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 synchronized void addNotify() {
- if (super.peer == null) {
- super.peer = Toolkit.getDefaultToolkit().createPopupMenu(this);
- }
-
- int var1 = ((Menu)this).getItemCount();
-
- for(int var2 = 0; var2 < var1; ++var2) {
- MenuItem var3 = ((Menu)this).getItem(var2);
- var3.parent = this;
- var3.addNotify();
- }
-
- }
-
- 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");
- }
- }
- }
-