java.awt
Class PopupMenu

java.lang.Object
  extended byjava.awt.MenuComponent
      extended byjava.awt.MenuItem
          extended byjava.awt.Menu
              extended byjava.awt.PopupMenu
All Implemented Interfaces:
javax.accessibility.Accessible, MenuContainer, Serializable

public class PopupMenu
extends Menu

A class that implements a menu which can be dynamically popped up at a specified position within a component.

As the inheritance hierarchy implies, a PopupMenu can be used anywhere a Menu can be used. However, if you use a PopupMenu like a Menu (e.g., you add it to a MenuBar), then you cannot call show on that PopupMenu.

Author:
Amy Fowler
See Also:
Serialized Form

Nested Class Summary
protected  class PopupMenu.AccessibleAWTPopupMenu
          Inner class of PopupMenu used to provide default support for accessibility.
 
Nested classes inherited from class java.awt.Menu
Menu.AccessibleAWTMenu
 
Nested classes inherited from class java.awt.MenuItem
MenuItem.AccessibleAWTMenuItem
 
Nested classes inherited from class java.awt.MenuComponent
MenuComponent.AccessibleAWTMenuComponent
 
Field Summary
private static String base
           
(package private) static int nameCounter
           
private static long serialVersionUID
           
 
Fields inherited from class java.awt.Menu
isHelpMenu, items, tearOff
 
Fields inherited from class java.awt.MenuItem
actionCommand, actionListener, enabled, eventMask, label
 
Fields inherited from class java.awt.MenuComponent
accessibleContext, actionListenerK, appContext, font, itemListenerK, newEventsOnly, parent, peer
 
Constructor Summary
PopupMenu()
          Creates a new popup menu with an empty name.
PopupMenu(String label)
          Creates a new popup menu with the specified name.
 
Method Summary
 void addNotify()
          Creates the popup menu's peer.
(package private)  String constructComponentName()
          Constructs a name for this MenuComponent.
 javax.accessibility.AccessibleContext getAccessibleContext()
          Gets the AccessibleContext associated with this PopupMenu.
 void show(Component origin, int x, int y)
          Shows the popup menu at the x, y position relative to an origin component.
 
Methods inherited from class java.awt.Menu
add, add, addSeparator, countItems, countItemsImpl, deleteShortcut, getItem, getItemCount, getItemImpl, getShortcutMenuItem, handleShortcut, insert, insert, insertSeparator, isTearOff, paramString, remove, remove, removeAll, removeNotify, shortcuts
 
Methods inherited from class java.awt.MenuItem
addActionListener, deleteShortcut, disable, disableEvents, doMenuEvent, enable, enable, enableEvents, eventEnabled, getActionCommand, getActionListeners, getLabel, getListeners, getShortcut, isEnabled, processActionEvent, processEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
 
Methods inherited from class java.awt.MenuComponent
dispatchEvent, dispatchEventImpl, getAccessibleIndexInParent, getAccessibleStateSet, getFont_NoClientCode, getFont, getName, getParent_NoClientCode, getParent, getPeer, getTreeLock, postEvent, setFont, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

base

private static final String base
See Also:
Constant Field Values

nameCounter

static int nameCounter

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

PopupMenu

public PopupMenu()
          throws HeadlessException
Creates a new popup menu with an empty name.

Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
GraphicsEnvironment.isHeadless()

PopupMenu

public PopupMenu(String label)
          throws HeadlessException
Creates a new popup menu with the specified name.

Parameters:
label - a non-null string specifying the popup menu's label
Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true.
See Also:
GraphicsEnvironment.isHeadless()
Method Detail

constructComponentName

String constructComponentName()
Constructs a name for this MenuComponent. Called by getName when the name is null.

Overrides:
constructComponentName in class Menu

addNotify

public void addNotify()
Creates the popup menu's peer. The peer allows us to change the appearance of the popup menu without changing any of the popup menu's functionality.

Overrides:
addNotify in class Menu

show

public void show(Component origin,
                 int x,
                 int y)
Shows the popup menu at the x, y position relative to an origin component. The origin component must be contained within the component hierarchy of the popup menu's parent. Both the origin and the parent must be showing on the screen for this method to be valid.

If this PopupMenu is being used as a Menu (i.e., it has a non-Component parent), then you cannot call this method on the PopupMenu.

Parameters:
origin - the component which defines the coordinate space
x - the x coordinate position to popup the menu
y - the y coordinate position to popup the menu
Throws:
NullPointerException - if the parent is null
IllegalArgumentException - if this PopupMenu has a non-Component parent
IllegalArgumentException - if the origin is not in the parent's heirarchy
RuntimeException - if the parent is not showing on screen

getAccessibleContext

public javax.accessibility.AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this PopupMenu.

Specified by:
getAccessibleContext in interface javax.accessibility.Accessible
Overrides:
getAccessibleContext in class Menu
Returns:
the AccessibleContext of this PopupMenu