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;
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
*/
public JMenu(String text, boolean tearoff)
{
- throw new Error("not implemented");
+ // FIXME: tearoff not implemented
+ this(text);
}
private void writeObject(ObjectOutputStream stream) throws IOException
}
/**
+ * 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);
}
/**