aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/awt')
-rw-r--r--libjava/java/awt/Component.java6
-rw-r--r--libjava/java/awt/Graphics.java2
-rw-r--r--libjava/java/awt/Menu.java7
-rw-r--r--libjava/java/awt/MenuItem.java5
-rw-r--r--libjava/java/awt/PopupMenu.java4
-rw-r--r--libjava/java/awt/peer/MenuPeer.java1
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);
}