aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/awt/Frame.java4
-rw-r--r--libjava/java/awt/Menu.java13
-rw-r--r--libjava/java/awt/MenuBar.java8
-rw-r--r--libjava/java/awt/MenuItem.java4
4 files changed, 22 insertions, 7 deletions
diff --git a/libjava/java/awt/Frame.java b/libjava/java/awt/Frame.java
index b6a3427..7a5c9d9 100644
--- a/libjava/java/awt/Frame.java
+++ b/libjava/java/awt/Frame.java
@@ -1,5 +1,5 @@
/* Frame.java -- AWT toplevel window
- Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -342,6 +342,8 @@ public synchronized void
setMenuBar(MenuBar menuBar)
{
this.menuBar = menuBar;
+ if (menuBar != null)
+ menuBar.addNotify();
if (peer != null)
((FramePeer) peer).setMenuBar(menuBar);
}
diff --git a/libjava/java/awt/Menu.java b/libjava/java/awt/Menu.java
index 52244b9..6fdc22c 100644
--- a/libjava/java/awt/Menu.java
+++ b/libjava/java/awt/Menu.java
@@ -1,5 +1,5 @@
/* Menu.java -- A Java AWT Menu
- Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -294,7 +294,8 @@ insert(String label, int index)
public void
addSeparator()
{
- add(separator);
+ if (peer != null)
+ ((MenuPeer) peer).addSeparator();
}
/*************************************************************************/
@@ -376,8 +377,14 @@ removeAll()
public void
addNotify()
{
- if (peer != null)
+ if (peer == null)
peer = getToolkit().createMenu(this);
+ java.util.Enumeration e = items.elements();
+ while (e.hasMoreElements())
+ {
+ MenuItem mi = (MenuItem)e.nextElement();
+ mi.addNotify();
+ }
super.addNotify ();
}
diff --git a/libjava/java/awt/MenuBar.java b/libjava/java/awt/MenuBar.java
index b9ddef9..af5c912 100644
--- a/libjava/java/awt/MenuBar.java
+++ b/libjava/java/awt/MenuBar.java
@@ -1,5 +1,5 @@
/* MenuBar.java -- An AWT menu bar class
- Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -263,6 +263,12 @@ addNotify()
{
if (getPeer() == null)
setPeer((MenuComponentPeer)getToolkit().createMenuBar(this));
+ Enumeration e = menus.elements();
+ while (e.hasMoreElements())
+ {
+ Menu mi = (Menu)e.nextElement();
+ mi.addNotify();
+ }
}
/*************************************************************************/
diff --git a/libjava/java/awt/MenuItem.java b/libjava/java/awt/MenuItem.java
index 02c4d0d..bea3b4f 100644
--- a/libjava/java/awt/MenuItem.java
+++ b/libjava/java/awt/MenuItem.java
@@ -1,5 +1,5 @@
/* MenuItem.java -- An item in a menu
- Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -361,7 +361,7 @@ disableEvents(long events)
public void
addNotify()
{
- if (peer != null)
+ if (peer == null)
peer = getToolkit ().createMenuItem (this);
}