From 5472d1951a2f96bf92d004dec143cd21a4da3965 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 26 Dec 2000 00:25:13 +0000 Subject: MenuContainer.java: Fixed typo. * java/awt/MenuContainer.java: Fixed typo. * Makefile.in: Rebuilt. * Makefile.am (awt_java_source_files): Added SystemColor.java. * java/awt/SystemColor.java: New file. * java/awt/Color.java (rgba): Now package-private. * java/awt/event/InputEvent.java (isAltGraphDown): New method. * java/awt/event/ContainerEvent.java (getContainer): Renamed from getComponent. * java/awt/MenuItem.java (addNotify): New method. (MenuItem(String,MenuShortcut)): New constructor. (setLabel): Notify peer of change. (setEnabled): Likewise. * java/awt/GridLayout.java (toString): New method. * java/awt/FlowLayout.java (LEADING, TRAILING): New constants. (FlowLayout): Check for LEADING and TRAILING. (setAlignment): Likewise. (layoutContainer): Handle component orientation. * java/awt/Component.java (orientatin): New field. (setComponentOrientation): Wrote. (getComponentOrientation): Wrote. * java/awt/Event.java (Event): Implements Serializable. (consumed): New field for serialization. * java/awt/Dimension.java (Dimension): Implements Serializable. * java/awt/Cursor.java (Cursor): Implements Serializable. * java/awt/Container.java (Container): No longer abstract. * java/awt/Choice.java: Wrote. * java/awt/Checkbox.java: Wrote. * java/awt/ItemSelectable.java: Documented. * java/awt/CheckboxGroup.java: Wrote. * java/awt/CardLayout.java (layoutContainer): Directly use fields in other classes. (getSize): Likewise. From-SVN: r38486 --- libjava/java/awt/MenuItem.java | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) (limited to 'libjava/java/awt/MenuItem.java') diff --git a/libjava/java/awt/MenuItem.java b/libjava/java/awt/MenuItem.java index 6e79ca0fc85..06b5accc24e 100644 --- a/libjava/java/awt/MenuItem.java +++ b/libjava/java/awt/MenuItem.java @@ -9,8 +9,7 @@ details. */ package java.awt; import java.awt.event.*; import java.util.EventListener; - -/* A very incomplete placeholder. */ +import java.awt.peer.MenuItemPeer; public class MenuItem extends MenuComponent { @@ -34,6 +33,12 @@ public class MenuItem extends MenuComponent this.label = label; } + public MenuItem (String label, MenuShortcut shortcut) + { + this.label = label; + this.shortcut = shortcut; + } + public String getLabel() { return label; @@ -42,6 +47,11 @@ public class MenuItem extends MenuComponent public synchronized void setLabel(String label) { this.label = label; + if (peer != null) + { + MenuItemPeer mp = (MenuItemPeer) peer; + mp.setLabel (label); + } } public boolean isEnabled() @@ -51,7 +61,18 @@ public class MenuItem extends MenuComponent public synchronized void setEnabled(boolean b) { - this.enabled = b; + // The JCL says this method is ignored if the enabled state does + // not change. I take that to mean that the peer is not notified + // in this case. + if (this.enabled != b) + { + this.enabled = b; + if (peer != null) + { + MenuItemPeer mp = (MenuItemPeer) peer; + mp.setEnabled (b); + } + } } /** @deprecated Use setEnabled() instead. */ @@ -120,6 +141,16 @@ public class MenuItem extends MenuComponent actionListener = AWTEventMulticaster.remove(actionListener, l); } + public void addNotify () + { + if (peer != null) + { + // This choice of toolkit seems unsatisfying, but I'm not sure + // what else to do. + peer = Toolkit.getDefaultToolkit ().createMenuItem (this); + } + } + /** Returns all registered EventListers of the given listenerType. * listenerType must be a subclass of EventListener, or a * ClassClassException is thrown. -- cgit v1.2.3