Package Summary Overview Summary

### class:MenuElement [NONE]
- All Known Implementing Classes: BasicComboPopup, BasicInternalFrameTitlePane.SystemMenuBar, JCheckBoxMenuItem, JMenu, JMenuBar, JMenuItem, JPopupMenu, JRadioButtonMenuItem, MetalComboBoxUI.MetalComboPopup
      public interface MenuElement
Any component that can be placed into a menu should implement this interface. This interface is used by `MenuSelectionManager` to handle selection and navigation in menu hierarchies. Since: 1.2

### method:processMouseEvent(java.awt.event.MouseEvent, javax.swing.MenuElement[], javax.swing.MenuSelectionManager) [NONE]
- #### processMouseEvent
      void processMouseEvent(MouseEvent event,
                             MenuElement[] path,
                             MenuSelectionManager manager)
Processes a mouse event. `event` is a `MouseEvent` with source being the receiving element's component. `path` is the path of the receiving element in the menu hierarchy including the receiving element itself. `manager` is the `MenuSelectionManager`for the menu hierarchy. This method should process the `MouseEvent` and change the menu selection if necessary by using `MenuSelectionManager`'s API Note: you do not have to forward the event to sub-components. This is done automatically by the `MenuSelectionManager`. Parameters: `event` - a `MouseEvent` to be processed `path` - the path of the receiving element in the menu hierarchy `manager` - the `MenuSelectionManager` for the menu hierarchy

### method:processKeyEvent(java.awt.event.KeyEvent, javax.swing.MenuElement[], javax.swing.MenuSelectionManager) [NONE]
- #### processKeyEvent
      void processKeyEvent(KeyEvent event,
                           MenuElement[] path,
                           MenuSelectionManager manager)
Process a key event. Parameters: `event` - a `KeyEvent` to be processed `path` - the path of the receiving element in the menu hierarchy `manager` - the `MenuSelectionManager` for the menu hierarchy

### method:menuSelectionChanged(boolean) [NONE]
- #### menuSelectionChanged
      void menuSelectionChanged(boolean isIncluded)
Call by the `MenuSelectionManager` when the `MenuElement` is added or removed from the menu selection. Parameters: `isIncluded` - can be used to indicate if this `MenuElement` is active (if it is a menu) or is on the part of the menu path that changed (if it is a menu item).

### method:getSubElements() [NONE]
- #### getSubElements
      MenuElement[] getSubElements()
This method should return an array containing the sub-elements for the receiving menu element. Returns: an array of `MenuElement`s

### method:getComponent() [NONE]
- #### getComponent
      Component getComponent()
This method should return the `java.awt.Component` used to paint the receiving element. The returned component will be used to convert events and detect if an event is inside a `MenuElement`'s component. Returns: the `Component` value