summaryrefslogtreecommitdiff
path: root/javax/swing/JMenu.java
diff options
context:
space:
mode:
Diffstat (limited to 'javax/swing/JMenu.java')
-rw-r--r--javax/swing/JMenu.java21
1 files changed, 17 insertions, 4 deletions
diff --git a/javax/swing/JMenu.java b/javax/swing/JMenu.java
index 72ce22acc..7fbaba179 100644
--- a/javax/swing/JMenu.java
+++ b/javax/swing/JMenu.java
@@ -140,7 +140,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 +645,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);
}
/**