OSDN Git Service

2004-11-30 Thomas Fitzsimmons <fitzsim@redhat.com>
[pf3gnuchains/gcc-fork.git] / libjava / javax / swing / JMenu.java
index 60e9441..812c26b 100644 (file)
@@ -35,11 +35,11 @@ this exception to your version of the library, but you are not
 obligated to do so.  If you do not wish to do so, delete this
 exception statement from your version. */
 
+
 package javax.swing;
 
 import java.awt.Component;
 import java.awt.Point;
-import java.awt.Window;
 import java.awt.event.KeyEvent;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
@@ -49,18 +49,15 @@ import java.io.IOException;
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
 import java.util.EventListener;
-import java.util.Hashtable;
+
 import javax.accessibility.Accessible;
 import javax.accessibility.AccessibleContext;
 import javax.accessibility.AccessibleRole;
 import javax.accessibility.AccessibleSelection;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
 import javax.swing.event.MenuEvent;
 import javax.swing.event.MenuListener;
 import javax.swing.plaf.MenuItemUI;
 
-
 /**
  * <p>
  * This class represents a menu that can be added to a menu bar or
@@ -140,7 +137,8 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement
    */
   public JMenu(String text, boolean tearoff)
   {
-    throw new Error("not implemented");
+    // FIXME: tearoff not implemented
+    this(text);
   }
 
   private void writeObject(ObjectOutputStream stream) throws IOException
@@ -644,16 +642,28 @@ public class JMenu extends JMenuItem implements Accessible, MenuElement
   }
 
   /**
+   * Returns all registered <code>MenuListener</code> objects.
+   *
+   * @return an array of listeners
+   * 
+   * @since 1.4
+   */
+  public MenuListener[] getMenuListeners()
+  {
+    return (MenuListener[]) listenerList.getListeners(MenuListener.class);
+  }
+
+  /**
    * This method fires MenuEvents to all menu's MenuListeners. In this case
    * menuSelected() method of MenuListeners is called to indicated that the menu
    * was selected.
    */
   protected void fireMenuSelected()
   {
-    EventListener[] ll = listenerList.getListeners(MenuListener.class);
+    MenuListener[] listeners = getMenuListeners();
 
-    for (int i = 0; i < ll.length; i++)
-      ((MenuListener) ll[i]).menuSelected(menuEvent);
+    for (int index = 0; index < listeners.length; ++index)
+      listeners[index].menuSelected(menuEvent);
   }
 
   /**