Uses of Interface javax.swing.MenuElement (Java Platform SE 8 )
Date: 2026-03-16

## Uses of Interface
javax.swing.MenuElement

- Packages that use MenuElement
  Package | Description
  --- | ---
  javax.swing | Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
  javax.swing.event | Provides for events fired by Swing components.
  javax.swing.plaf.basic | Provides user interface objects built according to the Basic look and feel.
  javax.swing.plaf.metal | Provides user interface objects built according to the Java look and feel (once codenamed Metal), which is the default look and feel.

- - ### Uses of MenuElement in javax.swing

    Classes in javax.swing that implement MenuElement
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JCheckBoxMenuItem` A menu item that can be selected or deselected.
    `class` | `JMenu` An implementation of a menu -- a popup window containing `JMenuItem`s that is displayed when the user selects an item on the `JMenuBar`.
    `class` | `JMenuBar` An implementation of a menu bar.
    `class` | `JMenuItem` An implementation of an item in a menu.
    `class` | `JPopupMenu` An implementation of a popup menu -- a small window that pops up and displays a series of choices.
    `class` | `JRadioButtonMenuItem` An implementation of a radio button menu item.

    Methods in javax.swing that return MenuElement
    Modifier and Type | Method and Description
    --- | ---
    `MenuElement[]` | MenuSelectionManager.`getSelectedPath()` Returns the path to the currently selected menu item
    `MenuElement[]` | JMenuItem.`getSubElements()` This method returns an array containing the sub-menu components for this menu component.
    `MenuElement[]` | JMenu.`getSubElements()` Returns an array of `MenuElement`s containing the submenu for this menu component.
    `MenuElement[]` | JPopupMenu.`getSubElements()` Returns an array of `MenuElement`s containing the submenu for this menu component.
    `MenuElement[]` | MenuElement.`getSubElements()` This method should return an array containing the sub-elements for the receiving menu element
    `MenuElement[]` | JMenuBar.`getSubElements()` Implemented to be a `MenuElement` -- returns the menus in this menu bar.

    Methods in javax.swing with parameters of type MenuElement
    Modifier and Type | Method and Description
    --- | ---
    `void` | JMenuItem.`processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)` Processes a key event forwarded from the `MenuSelectionManager` and changes the menu selection, if necessary, by using `MenuSelectionManager`'s API.
    `void` | JPopupMenu.`processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)` Processes a key event forwarded from the `MenuSelectionManager` and changes the menu selection, if necessary, by using `MenuSelectionManager`'s API.
    `void` | MenuElement.`processKeyEvent(KeyEvent event, MenuElement[] path, MenuSelectionManager manager)` Process a key event.
    `void` | JMenuBar.`processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)` Implemented to be a `MenuElement` -- does nothing.
    `void` | JMenuItem.`processMouseEvent(MouseEvent e, MenuElement[] path, MenuSelectionManager manager)` Processes a mouse event forwarded from the `MenuSelectionManager` and changes the menu selection, if necessary, by using the `MenuSelectionManager`'s API.
    `void` | JPopupMenu.`processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)` This method is required to conform to the `MenuElement` interface, but it not implemented.
    `void` | MenuElement.`processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)` Processes a mouse event.
    `void` | JMenuBar.`processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)` Implemented to be a `MenuElement` -- does nothing.
    `void` | MenuSelectionManager.`setSelectedPath(MenuElement[] path)` Changes the selection in the menu hierarchy.

  - ### Uses of MenuElement in javax.swing.event

    Methods in javax.swing.event that return MenuElement
    Modifier and Type | Method and Description
    --- | ---
    `MenuElement[]` | MenuKeyEvent.`getPath()` Returns the path to the menu item referenced by this event.
    `MenuElement[]` | MenuDragMouseEvent.`getPath()` Returns the path to the selected menu item.

    Constructors in javax.swing.event with parameters of type MenuElement
    Constructor and Description
    `MenuDragMouseEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger, MenuElement[] p, MenuSelectionManager m)` Constructs a MenuDragMouseEvent object.
    `MenuDragMouseEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, MenuElement[] p, MenuSelectionManager m)` Constructs a MenuDragMouseEvent object.
    `MenuKeyEvent(Component source, int id, long when, int modifiers, int keyCode, char keyChar, MenuElement[] p, MenuSelectionManager m)` Constructs a MenuKeyEvent object.

  - ### Uses of MenuElement in javax.swing.plaf.basic

    Classes in javax.swing.plaf.basic that implement MenuElement
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BasicComboPopup` This is a basic implementation of the `ComboPopup` interface.
    `class` | `BasicInternalFrameTitlePane.SystemMenuBar` This class should be treated as a "protected" inner class.

    Methods in javax.swing.plaf.basic that return MenuElement
    Modifier and Type | Method and Description
    --- | ---
    `MenuElement[]` | BasicMenuItemUI.`getPath()`

    Methods in javax.swing.plaf.basic with parameters of type MenuElement
    Modifier and Type | Method and Description
    --- | ---
    `void` | BasicRadioButtonMenuItemUI.`processMouseEvent(JMenuItem item, MouseEvent e, MenuElement[] path, MenuSelectionManager manager)`
    `void` | BasicCheckBoxMenuItemUI.`processMouseEvent(JMenuItem item, MouseEvent e, MenuElement[] path, MenuSelectionManager manager)`

  - ### Uses of MenuElement in javax.swing.plaf.metal

    Classes in javax.swing.plaf.metal that implement MenuElement
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MetalComboBoxUI.MetalComboPopup` Deprecated. As of Java 2 platform v1.4.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.