diff options
Diffstat (limited to 'libjava/java/awt/PopupMenu.java')
-rw-r--r-- | libjava/java/awt/PopupMenu.java | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/libjava/java/awt/PopupMenu.java b/libjava/java/awt/PopupMenu.java index 3be7f84..ed4f343 100644 --- a/libjava/java/awt/PopupMenu.java +++ b/libjava/java/awt/PopupMenu.java @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation +/* Copyright (C) 2000, 2001 Free Software Foundation This file is part of libjava. @@ -8,6 +8,8 @@ details. */ package java.awt; +import java.awt.peer.PopupMenuPeer; + /* Status: Incomplete. */ public class PopupMenu extends Menu @@ -24,14 +26,31 @@ public class PopupMenu extends Menu public void addNotify() { - // FIXME + if (peer != null) + { + // This choice of toolkit seems unsatisfying, but I'm not sure + // what else to do. + peer = Toolkit.getDefaultToolkit ().createPopupMenu (this); + } + super.addNotify (); } public void show(Component origin, int x, int y) { - // FIXME + if (! origin.isShowing () + // FIXME: or ! parent is showing -- but how? + ) + { + // This is an invalid call which we choose to ignore. + return; + } + + addNotify (); // FIXME? + Event e = new Event (origin, 0, 0, x, y, 0, 0); + PopupMenuPeer p = (PopupMenuPeer) peer; + p.show (e); } - + // Accessibility API not yet implemented. // public AccessibleContext getAccessibleContext() } |