Module java.desktop
Package java.awt

Class 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
    • Method Detail

      • getParent

        public MenuContainer getParent​()
        Returns the parent container for this menu component.
        Overrides:
        getParent in class MenuComponent
        Returns:
        the menu component containing this menu component, or null if this menu component is the outermost component, the menu bar itself
      • 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 hierarchy
        RuntimeException - if the parent is not showing on screen