javax.swing

Class MenuSelectionManager

public class MenuSelectionManager extends Object

This class manages current menu selectection. It provides methods to clear and set current selected menu path. It also fires StateChange event to its registered listeners whenever selected path of the current menu hierarchy changes.
Field Summary
protected ChangeEventchangeEvent
ChangeEvent fired when selected path changes
protected EventListenerListlistenerList
List of listeners for this MenuSelectionManager
Method Summary
voidaddChangeListener(ChangeListener listener)
Adds ChangeListener to this MenuSelectionManager
voidclearSelectedPath()
Unselects all the menu elements on the selection path
ComponentcomponentForPoint(Component source, Point sourcePoint)
This method returns menu element on the selected path that contains given source point.
static MenuSelectionManagerdefaultManager()
Returns shared instance of MenuSelection Manager
protected voidfireStateChanged()
Fires StateChange event to registered listeners
ChangeListener[]getChangeListeners()
Returns list of registered listeners with MenuSelectionManager
MenuElement[]getSelectedPath()
Returns path representing current menu selection
booleanisComponentPartOfCurrentMenu(Component c)
Returns true if specified component is part of current menu heirarchy and false otherwise
voidprocessKeyEvent(KeyEvent e)
Processes key events on behalf of the MenuElements.
voidprocessMouseEvent(MouseEvent event)
Forwards given mouse event to all of the source subcomponents.
voidremoveChangeListener(ChangeListener listener)
Removes ChangeListener from the list of registered listeners for this MenuSelectionManager.
voidsetSelectedPath(MenuElement[] path)
Sets menu selection to the specified path

Field Detail

changeEvent

protected ChangeEvent changeEvent
ChangeEvent fired when selected path changes

listenerList

protected EventListenerList listenerList
List of listeners for this MenuSelectionManager

Method Detail

addChangeListener

public void addChangeListener(ChangeListener listener)
Adds ChangeListener to this MenuSelectionManager

Parameters: listener ChangeListener to add

clearSelectedPath

public void clearSelectedPath()
Unselects all the menu elements on the selection path

componentForPoint

public Component componentForPoint(Component source, Point sourcePoint)
This method returns menu element on the selected path that contains given source point. If no menu element on the selected path contains this point, then null is returned.

Parameters: source Component relative to which sourcePoint is given sourcePoint point for which we want to find menu element that contains it

Returns: Returns menu element that contains given source point and belongs to the currently selected path. Null is return if no such menu element found.

defaultManager

public static MenuSelectionManager defaultManager()
Returns shared instance of MenuSelection Manager

Returns: default Manager

fireStateChanged

protected void fireStateChanged()
Fires StateChange event to registered listeners

getChangeListeners

public ChangeListener[] getChangeListeners()
Returns list of registered listeners with MenuSelectionManager

Since: 1.4

getSelectedPath

public MenuElement[] getSelectedPath()
Returns path representing current menu selection

Returns: Current selection path

isComponentPartOfCurrentMenu

public boolean isComponentPartOfCurrentMenu(Component c)
Returns true if specified component is part of current menu heirarchy and false otherwise

Parameters: c Component for which to check

Returns: True if specified component is part of current menu

processKeyEvent

public void processKeyEvent(KeyEvent e)
Processes key events on behalf of the MenuElements. MenuElement instances should always forward their key events to this method and get their {@link MenuElement#processKeyEvent(KeyEvent, MenuElement[], MenuSelectionManager)} eventually called back.

Parameters: e the key event

processMouseEvent

public void processMouseEvent(MouseEvent event)
Forwards given mouse event to all of the source subcomponents.

Parameters: event Mouse event

removeChangeListener

public void removeChangeListener(ChangeListener listener)
Removes ChangeListener from the list of registered listeners for this MenuSelectionManager.

Parameters: listener ChangeListner to remove

setSelectedPath

public void setSelectedPath(MenuElement[] path)
Sets menu selection to the specified path

Parameters: path new selection path