diff options
Diffstat (limited to 'libjava/java/awt')
-rw-r--r-- | libjava/java/awt/Component.java | 6 | ||||
-rw-r--r-- | libjava/java/awt/Graphics.java | 2 | ||||
-rw-r--r-- | libjava/java/awt/Menu.java | 7 | ||||
-rw-r--r-- | libjava/java/awt/MenuItem.java | 5 | ||||
-rw-r--r-- | libjava/java/awt/PopupMenu.java | 4 | ||||
-rw-r--r-- | libjava/java/awt/peer/MenuPeer.java | 1 |
6 files changed, 17 insertions, 8 deletions
diff --git a/libjava/java/awt/Component.java b/libjava/java/awt/Component.java index 8c75ba0..bfd4e08 100644 --- a/libjava/java/awt/Component.java +++ b/libjava/java/awt/Component.java @@ -3816,6 +3816,12 @@ public abstract class Component if (popups == null) popups = new Vector(); popups.add(popup); + + if (popup.parent != null) + popup.parent.remove(popup); + popup.parent = this; + if (peer != null) + popup.addNotify(); } /** diff --git a/libjava/java/awt/Graphics.java b/libjava/java/awt/Graphics.java index c225b52..0d551b2 100644 --- a/libjava/java/awt/Graphics.java +++ b/libjava/java/awt/Graphics.java @@ -417,7 +417,7 @@ draw3DRect(int x, int y, int width, int height, boolean raised) drawLine(x1, y2, x1, y1); setColor(br); drawLine(x2, y1, x2, y2); - drawLine(x2, y1, x1, y2); + drawLine(x2, y2, x1, y2); setColor(color); } diff --git a/libjava/java/awt/Menu.java b/libjava/java/awt/Menu.java index 74478fb..c6c4f21 100644 --- a/libjava/java/awt/Menu.java +++ b/libjava/java/awt/Menu.java @@ -82,7 +82,7 @@ private boolean isHelpMenu; // From the serialization spec. FIXME: what should it be? private int menuSerializedDataVersion; -static final MenuItem separator = new MenuItem("-"); +static final String separatorLabel = "-"; /*************************************************************************/ @@ -295,8 +295,7 @@ insert(String label, int index) public void addSeparator() { - if (peer != null) - ((MenuPeer) peer).addSeparator(); + add(new MenuItem(separatorLabel)); } /*************************************************************************/ @@ -314,7 +313,7 @@ addSeparator() public void insertSeparator(int index) { - insert(separator, index); + insert(new MenuItem(separatorLabel), index); } /*************************************************************************/ diff --git a/libjava/java/awt/MenuItem.java b/libjava/java/awt/MenuItem.java index cfdfafc..4defc38 100644 --- a/libjava/java/awt/MenuItem.java +++ b/libjava/java/awt/MenuItem.java @@ -310,7 +310,10 @@ deleteShortcut() public String getActionCommand() { - return(actionCommand); + if (actionCommand == null) + return label; + else + return actionCommand; } /*************************************************************************/ diff --git a/libjava/java/awt/PopupMenu.java b/libjava/java/awt/PopupMenu.java index cde79e3..83ffb35 100644 --- a/libjava/java/awt/PopupMenu.java +++ b/libjava/java/awt/PopupMenu.java @@ -105,7 +105,7 @@ PopupMenu(String label) public void addNotify() { - if (peer != null) + if (peer == null) peer = getToolkit ().createPopupMenu (this); super.addNotify (); } @@ -123,6 +123,8 @@ addNotify() public void show(Component component, int x, int y) { + if (getPeer() == null) + this.addNotify(); PopupMenuPeer pmp = (PopupMenuPeer)getPeer(); if (pmp != null) { diff --git a/libjava/java/awt/peer/MenuPeer.java b/libjava/java/awt/peer/MenuPeer.java index 67f213f..0b15914 100644 --- a/libjava/java/awt/peer/MenuPeer.java +++ b/libjava/java/awt/peer/MenuPeer.java @@ -43,7 +43,6 @@ import java.awt.MenuItem; public interface MenuPeer extends MenuItemPeer { void addItem (MenuItem item); - void addSeparator (); void delItem (int index); } |