javax.swing
Class MenuSelectionManager

java.lang.Object
  extended by javax.swing.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  ChangeEvent changeEvent
          ChangeEvent fired when selected path changes
protected  EventListenerList listenerList
          List of listeners for this MenuSelectionManager
 
Constructor Summary
MenuSelectionManager()
           
 
Method Summary
 void addChangeListener(ChangeListener listener)
          Adds ChangeListener to this MenuSelectionManager
 void clearSelectedPath()
          Unselects all the menu elements on the selection path
 Component componentForPoint(Component source, Point sourcePoint)
          This method returns menu element on the selected path that contains given source point.
static MenuSelectionManager defaultManager()
          Returns shared instance of MenuSelection Manager
protected  void fireStateChanged()
          Fires StateChange event to registered listeners
 ChangeListener[] getChangeListeners()
          Returns list of registered listeners with MenuSelectionManager
 MenuElement[] getSelectedPath()
          Returns path representing current menu selection
 boolean isComponentPartOfCurrentMenu(Component c)
          Returns true if specified component is part of current menu heirarchy and false otherwise
 void processKeyEvent(KeyEvent e)
          Processes key events on behalf of the MenuElements.
 void processMouseEvent(MouseEvent event)
          Forwards given mouse event to all of the source subcomponents.
 void removeChangeListener(ChangeListener listener)
          Removes ChangeListener from the list of registered listeners for this MenuSelectionManager.
 void setSelectedPath(MenuElement[] path)
          Sets menu selection to the specified path
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

changeEvent

protected ChangeEvent changeEvent
ChangeEvent fired when selected path changes


listenerList

protected EventListenerList listenerList
List of listeners for this MenuSelectionManager

Constructor Detail

MenuSelectionManager

public MenuSelectionManager()
Method Detail

fireStateChanged

protected void fireStateChanged()
Fires StateChange event to registered listeners


addChangeListener

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

Parameters:
listener - ChangeListener to add

removeChangeListener

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

Parameters:
listener - ChangeListner to remove

getChangeListeners

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

Since:
1.4

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

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 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

setSelectedPath

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

Parameters:
path - new selection path