- 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 Summary
Modifier and Type Method Description Component
getComponent()
This method should return thejava.awt.Component
used to paint the receiving element.MenuElement[]
getSubElements()
This method should return an array containing the sub-elements for the receiving menu element.void
menuSelectionChanged(boolean isIncluded)
Call by theMenuSelectionManager
when theMenuElement
is added or removed from the menu selection.void
processKeyEvent(KeyEvent event, MenuElement[] path, MenuSelectionManager manager)
Process a key event.void
processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)
Processes a mouse event.
-
Method Details
-
processMouseEvent
Processes a mouse event.event
is aMouseEvent
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 theMenuSelectionManager
for the menu hierarchy. This method should process theMouseEvent
and change the menu selection if necessary by usingMenuSelectionManager
's API Note: you do not have to forward the event to sub-components. This is done automatically by theMenuSelectionManager
.- Parameters:
event
- aMouseEvent
to be processedpath
- the path of the receiving element in the menu hierarchymanager
- theMenuSelectionManager
for the menu hierarchy
-
processKeyEvent
Process a key event.- Parameters:
event
- aKeyEvent
to be processedpath
- the path of the receiving element in the menu hierarchymanager
- theMenuSelectionManager
for the menu hierarchy
-
menuSelectionChanged
void menuSelectionChanged(boolean isIncluded)Call by theMenuSelectionManager
when theMenuElement
is added or removed from the menu selection.- Parameters:
isIncluded
- can be used to indicate if thisMenuElement
is active (if it is a menu) or is on the part of the menu path that changed (if it is a menu item).
-
getSubElements
MenuElement[] getSubElements()This method should return an array containing the sub-elements for the receiving menu element.- Returns:
- an array of
MenuElement
s
-
getComponent
Component getComponent()This method should return thejava.awt.Component
used to paint the receiving element. The returned component will be used to convert events and detect if an event is inside aMenuElement
's component.- Returns:
- the
Component
value
-