java.lang.Object
java.awt.MenuComponent
java.awt.MenuItem
java.awt.Menu
java.awt.PopupMenu
- All Implemented Interfaces:
MenuContainer
,Serializable
,Accessible
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
.
- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
PopupMenu.AccessibleAWTPopupMenu
Inner class of PopupMenu used to provide default support for accessibility.Nested classes/interfaces declared in class java.awt.MenuComponent
MenuComponent.AccessibleAWTMenuComponent
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description void
addNotify()
Creates the popup menu's peer.AccessibleContext
getAccessibleContext()
Gets theAccessibleContext
associated with thisPopupMenu
.void
show(Component origin, int x, int y)
Shows the popup menu at the x, y position relative to an origin component.Methods declared in class java.awt.Menu
add, add, addSeparator, countItems, getItem, getItemCount, insert, insert, insertSeparator, isTearOff, paramString, remove, remove, removeAll, removeNotify
Methods declared in class java.awt.MenuItem
addActionListener, deleteShortcut, disable, disableEvents, enable, enable, enableEvents, getActionCommand, getActionListeners, getLabel, getListeners, getShortcut, isEnabled, processActionEvent, processEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
Methods declared in class java.awt.MenuComponent
dispatchEvent, getFont, getName, getParent, getTreeLock, postEvent, setFont, setName, toString
-
Constructor Details
-
PopupMenu
Creates a new popup menu with an empty name.- Throws:
HeadlessException
- if GraphicsEnvironment.isHeadless() returns true.- See Also:
GraphicsEnvironment.isHeadless()
-
PopupMenu
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 Details
-
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. -
show
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 aMenu
(i.e., it has a non-Component
parent), then you cannot call this method on thePopupMenu
.- Parameters:
origin
- the component which defines the coordinate spacex
- the x coordinate position to popup the menuy
- the y coordinate position to popup the menu- Throws:
NullPointerException
- if the parent isnull
IllegalArgumentException
- if thisPopupMenu
has a non-Component
parentIllegalArgumentException
- if the origin is not in the parent's hierarchyRuntimeException
- if the parent is not showing on screen
-
getAccessibleContext
Gets theAccessibleContext
associated with thisPopupMenu
.- Specified by:
getAccessibleContext
in interfaceAccessible
- Overrides:
getAccessibleContext
in classMenu
- Returns:
- the
AccessibleContext
of thisPopupMenu
- Since:
- 1.3
-