W3cubDocs

/OpenJDK 8 GUI

Interface MenuElement

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.

Methods

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.

processKeyEvent

void processKeyEvent(KeyEvent event,
                     MenuElement[] path,
                     MenuSelectionManager manager)

Process a key event.

void menuSelectionChanged(boolean isIncluded)

Call by the MenuSelectionManager when the MenuElement is added or remove from the menu selection.

getSubElements

MenuElement[] getSubElements()

This method should return an array containing the sub-elements for the receiving menu element

Returns:
an array of MenuElements

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

© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.