- java.lang.Object
-
- java.awt.KeyboardFocusManager
-
- All Implemented Interfaces:
KeyEventDispatcher,KeyEventPostProcessor
- Direct Known Subclasses:
DefaultKeyboardFocusManager
public abstract class KeyboardFocusManager extends Object implements KeyEventDispatcher, KeyEventPostProcessor
The KeyboardFocusManager is responsible for managing the active and focused Windows, and the current focus owner. The focus owner is defined as the Component in an application that will typically receive all KeyEvents generated by the user. The focused Window is the Window that is, or contains, the focus owner. Only a Frame or a Dialog can be the active Window. The native windowing system may denote the active Window or its children with special decorations, such as a highlighted title bar. The active Window is always either the focused Window, or the first Frame or Dialog that is an owner of the focused Window.The KeyboardFocusManager is both a centralized location for client code to query for the focus owner and initiate focus changes, and an event dispatcher for all FocusEvents, WindowEvents related to focus, and KeyEvents.
Some browsers partition applets in different code bases into separate contexts, and establish walls between these contexts. In such a scenario, there will be one KeyboardFocusManager per context. Other browsers place all applets into the same context, implying that there will be only a single, global KeyboardFocusManager for all applets. This behavior is implementation-dependent. Consult your browser's documentation for more information. No matter how many contexts there may be, however, there can never be more than one focus owner, focused Window, or active Window, per ClassLoader.
Please see How to Use the Focus Subsystem, a section in The Java Tutorial, and the Focus Specification for more information.
- Since:
- 1.4
- See Also:
Window,Frame,Dialog,FocusEvent,WindowEvent,KeyEvent
-
-
Field Summary
Fields Modifier and Type Field Description static intBACKWARD_TRAVERSAL_KEYSThe identifier for the Backward focus traversal keys.static intDOWN_CYCLE_TRAVERSAL_KEYSThe identifier for the Down Cycle focus traversal keys.static intFORWARD_TRAVERSAL_KEYSThe identifier for the Forward focus traversal keys.static intUP_CYCLE_TRAVERSAL_KEYSThe identifier for the Up Cycle focus traversal keys.
-
Constructor Summary
Constructors Constructor Description KeyboardFocusManager()Initializes a KeyboardFocusManager.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddKeyEventDispatcher(KeyEventDispatcher dispatcher)Adds a KeyEventDispatcher to this KeyboardFocusManager's dispatcher chain.voidaddKeyEventPostProcessor(KeyEventPostProcessor processor)Adds a KeyEventPostProcessor to this KeyboardFocusManager's post- processor chain.voidaddPropertyChangeListener(PropertyChangeListener listener)Adds a PropertyChangeListener to the listener list.voidaddPropertyChangeListener(String propertyName, PropertyChangeListener listener)Adds a PropertyChangeListener to the listener list for a specific property.voidaddVetoableChangeListener(VetoableChangeListener listener)Adds a VetoableChangeListener to the listener list.voidaddVetoableChangeListener(String propertyName, VetoableChangeListener listener)Adds a VetoableChangeListener to the listener list for a specific property.voidclearFocusOwner()Clears the focus owner at both the Java and native levels if the focus owner exists and resides in the same context as the calling thread, otherwise the method returns silently.voidclearGlobalFocusOwner()Clears the global focus owner at both the Java and native levels.protected abstract voiddequeueKeyEvents(long after, Component untilFocused)Called by the AWT to notify the KeyboardFocusManager that it should cancel delayed dispatching of KeyEvents.protected abstract voiddiscardKeyEvents(Component comp)Called by the AWT to notify the KeyboardFocusManager that it should cancel delayed dispatching of KeyEvents.abstract booleandispatchEvent(AWTEvent e)This method is called by the AWT event dispatcher requesting that the current KeyboardFocusManager dispatch the specified event on its behalf.abstract booleandispatchKeyEvent(KeyEvent e)Typically this method will be called bydispatchEventif no other KeyEventDispatcher in the dispatcher chain dispatched the KeyEvent, or if no other KeyEventDispatchers are registered.voiddownFocusCycle()Moves the focus down one focus traversal cycle from the current focus owner, if and only if the current focus owner is a Container that is a focus cycle root.abstract voiddownFocusCycle(Container aContainer)Moves the focus down one focus traversal cycle.protected abstract voidenqueueKeyEvents(long after, Component untilFocused)Called by the AWT to notify the KeyboardFocusManager that it should delay dispatching of KeyEvents until the specified Component becomes the focus owner.protected voidfirePropertyChange(String propertyName, Object oldValue, Object newValue)Fires a PropertyChangeEvent in response to a change in a bound property.protected voidfireVetoableChange(String propertyName, Object oldValue, Object newValue)Fires a PropertyChangeEvent in response to a change in a vetoable property.voidfocusNextComponent()Focuses the Component after the current focus owner.abstract voidfocusNextComponent(Component aComponent)Focuses the Component after aComponent, typically based on a FocusTraversalPolicy.voidfocusPreviousComponent()Focuses the Component before the current focus owner.abstract voidfocusPreviousComponent(Component aComponent)Focuses the Component before aComponent, typically based on a FocusTraversalPolicy.WindowgetActiveWindow()Returns the active Window, if the active Window is in the same context as the calling thread.ContainergetCurrentFocusCycleRoot()Returns the current focus cycle root, if the current focus cycle root is in the same context as the calling thread.static KeyboardFocusManagergetCurrentKeyboardFocusManager()Returns the current KeyboardFocusManager instance for the calling thread's context.Set<AWTKeyStroke>getDefaultFocusTraversalKeys(int id)Returns a Set of default focus traversal keys for a given traversal operation.FocusTraversalPolicygetDefaultFocusTraversalPolicy()Returns the default FocusTraversalPolicy.WindowgetFocusedWindow()Returns the focused Window, if the focused Window is in the same context as the calling thread.ComponentgetFocusOwner()Returns the focus owner, if the focus owner is in the same context as the calling thread.protected WindowgetGlobalActiveWindow()Returns the active Window, even if the calling thread is in a different context than the active Window.protected ContainergetGlobalCurrentFocusCycleRoot()Returns the current focus cycle root, even if the calling thread is in a different context than the current focus cycle root.protected WindowgetGlobalFocusedWindow()Returns the focused Window, even if the calling thread is in a different context than the focused Window.protected ComponentgetGlobalFocusOwner()Returns the focus owner, even if the calling thread is in a different context than the focus owner.protected ComponentgetGlobalPermanentFocusOwner()Returns the permanent focus owner, even if the calling thread is in a different context than the permanent focus owner.protected List<KeyEventDispatcher>getKeyEventDispatchers()Returns this KeyboardFocusManager's KeyEventDispatcher chain as a List.protected List<KeyEventPostProcessor>getKeyEventPostProcessors()Returns this KeyboardFocusManager's KeyEventPostProcessor chain as a List.ComponentgetPermanentFocusOwner()Returns the permanent focus owner, if the permanent focus owner is in the same context as the calling thread.PropertyChangeListener[]getPropertyChangeListeners()Returns an array of all the property change listeners registered on this keyboard focus manager.PropertyChangeListener[]getPropertyChangeListeners(String propertyName)Returns an array of all thePropertyChangeListeners associated with the named property.VetoableChangeListener[]getVetoableChangeListeners()Returns an array of all the vetoable change listeners registered on this keyboard focus manager.VetoableChangeListener[]getVetoableChangeListeners(String propertyName)Returns an array of all theVetoableChangeListeners associated with the named property.abstract booleanpostProcessKeyEvent(KeyEvent e)This method will be called bydispatchKeyEvent.abstract voidprocessKeyEvent(Component focusedComponent, KeyEvent e)This method initiates a focus traversal operation if and only if the KeyEvent represents a focus traversal key for the specified focusedComponent.voidredispatchEvent(Component target, AWTEvent e)Redispatches an AWTEvent in such a way that the AWT event dispatcher will not recursively request that the KeyboardFocusManager, or any installed KeyEventDispatchers, dispatch the event again.voidremoveKeyEventDispatcher(KeyEventDispatcher dispatcher)Removes a KeyEventDispatcher which was previously added to this KeyboardFocusManager's dispatcher chain.voidremoveKeyEventPostProcessor(KeyEventPostProcessor processor)Removes a previously added KeyEventPostProcessor from this KeyboardFocusManager's post-processor chain.voidremovePropertyChangeListener(PropertyChangeListener listener)Removes a PropertyChangeListener from the listener list.voidremovePropertyChangeListener(String propertyName, PropertyChangeListener listener)Removes a PropertyChangeListener from the listener list for a specific property.voidremoveVetoableChangeListener(VetoableChangeListener listener)Removes a VetoableChangeListener from the listener list.voidremoveVetoableChangeListener(String propertyName, VetoableChangeListener listener)Removes a VetoableChangeListener from the listener list for a specific property.static voidsetCurrentKeyboardFocusManager(KeyboardFocusManager newManager)Sets the current KeyboardFocusManager instance for the calling thread's context.voidsetDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)Sets the default focus traversal keys for a given traversal operation.voidsetDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy)Sets the default FocusTraversalPolicy.protected voidsetGlobalActiveWindow(Window activeWindow)Sets the active Window.voidsetGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot)Sets the current focus cycle root.protected voidsetGlobalFocusedWindow(Window focusedWindow)Sets the focused Window.protected voidsetGlobalFocusOwner(Component focusOwner)Sets the focus owner.protected voidsetGlobalPermanentFocusOwner(Component permanentFocusOwner)Sets the permanent focus owner.voidupFocusCycle()Moves the focus up one focus traversal cycle from the current focus owner.abstract voidupFocusCycle(Component aComponent)Moves the focus up one focus traversal cycle.
-
-
-
Field Detail
-
FORWARD_TRAVERSAL_KEYS
public static final int FORWARD_TRAVERSAL_KEYS
The identifier for the Forward focus traversal keys.
-
BACKWARD_TRAVERSAL_KEYS
public static final int BACKWARD_TRAVERSAL_KEYS
The identifier for the Backward focus traversal keys.
-
UP_CYCLE_TRAVERSAL_KEYS
public static final int UP_CYCLE_TRAVERSAL_KEYS
The identifier for the Up Cycle focus traversal keys.
-
DOWN_CYCLE_TRAVERSAL_KEYS
public static final int DOWN_CYCLE_TRAVERSAL_KEYS
The identifier for the Down Cycle focus traversal keys.
-
-
Method Detail
-
getCurrentKeyboardFocusManager
public static KeyboardFocusManager getCurrentKeyboardFocusManager()
Returns the current KeyboardFocusManager instance for the calling thread's context.- Returns:
- this thread's context's KeyboardFocusManager
- See Also:
setCurrentKeyboardFocusManager(java.awt.KeyboardFocusManager)
-
setCurrentKeyboardFocusManager
public static void setCurrentKeyboardFocusManager(KeyboardFocusManager newManager) throws SecurityException
Sets the current KeyboardFocusManager instance for the calling thread's context. If null is specified, then the current KeyboardFocusManager is replaced with a new instance of DefaultKeyboardFocusManager.If a SecurityManager is installed, the calling thread must be granted the AWTPermission "replaceKeyboardFocusManager" in order to replace the the current KeyboardFocusManager. If this permission is not granted, this method will throw a SecurityException, and the current KeyboardFocusManager will be unchanged.
- Parameters:
newManager- the new KeyboardFocusManager for this thread's context- Throws:
SecurityException- if the calling thread does not have permission to replace the current KeyboardFocusManager- See Also:
getCurrentKeyboardFocusManager(),DefaultKeyboardFocusManager
-
getFocusOwner
public Component getFocusOwner()
Returns the focus owner, if the focus owner is in the same context as the calling thread. The focus owner is defined as the Component in an application that will typically receive all KeyEvents generated by the user. KeyEvents which map to the focus owner's focus traversal keys will not be delivered if focus traversal keys are enabled for the focus owner. In addition, KeyEventDispatchers may retarget or consume KeyEvents before they reach the focus owner.- Returns:
- the focus owner, or null if the focus owner is not a member of the calling thread's context
- See Also:
getGlobalFocusOwner(),setGlobalFocusOwner(java.awt.Component)
-
getGlobalFocusOwner
protected Component getGlobalFocusOwner() throws SecurityException
Returns the focus owner, even if the calling thread is in a different context than the focus owner. The focus owner is defined as the Component in an application that will typically receive all KeyEvents generated by the user. KeyEvents which map to the focus owner's focus traversal keys will not be delivered if focus traversal keys are enabled for the focus owner. In addition, KeyEventDispatchers may retarget or consume KeyEvents before they reach the focus owner.This method will throw a SecurityException if this KeyboardFocusManager is not the current KeyboardFocusManager for the calling thread's context.
- Returns:
- the focus owner
- Throws:
SecurityException- if this KeyboardFocusManager is not the current KeyboardFocusManager for the calling thread's context and if the calling thread does not have "replaceKeyboardFocusManager" permission- See Also:
getFocusOwner(),setGlobalFocusOwner(java.awt.Component)
-
setGlobalFocusOwner
protected void setGlobalFocusOwner(Component focusOwner) throws SecurityException
Sets the focus owner. The operation will be cancelled if the Component is not focusable. The focus owner is defined as the Component in an application that will typically receive all KeyEvents generated by the user. KeyEvents which map to the focus owner's focus traversal keys will not be delivered if focus traversal keys are enabled for the focus owner. In addition, KeyEventDispatchers may retarget or consume KeyEvents before they reach the focus owner.This method does not actually set the focus to the specified Component. It merely stores the value to be subsequently returned by
getFocusOwner(). UseComponent.requestFocus()orComponent.requestFocusInWindow()to change the focus owner, subject to platform limitations.- Parameters:
focusOwner- the focus owner- Throws:
SecurityException- if this KeyboardFocusManager is not the current KeyboardFocusManager for the calling thread's context and if the calling thread does not have "replaceKeyboardFocusManager" permission- See Also:
getFocusOwner(),getGlobalFocusOwner(),Component.requestFocus(),Component.requestFocusInWindow(),Component.isFocusable()
-
clearFocusOwner
public void clearFocusOwner()
Clears the focus owner at both the Java and native levels if the focus owner exists and resides in the same context as the calling thread, otherwise the method returns silently.The focus owner component will receive a permanent FOCUS_LOST event. After this operation completes, the native windowing system will discard all user-generated KeyEvents until the user selects a new Component to receive focus, or a Component is given focus explicitly via a call to
requestFocus(). This operation does not change the focused or active Windows.- Since:
- 1.8
- See Also:
Component.requestFocus(),FocusEvent.FOCUS_LOST
-
clearGlobalFocusOwner
public void clearGlobalFocusOwner() throws SecurityExceptionClears the global focus owner at both the Java and native levels. If there exists a focus owner, that Component will receive a permanent FOCUS_LOST event. After this operation completes, the native windowing system will discard all user-generated KeyEvents until the user selects a new Component to receive focus, or a Component is given focus explicitly via a call torequestFocus(). This operation does not change the focused or active Windows.If a SecurityManager is installed, the calling thread must be granted the "replaceKeyboardFocusManager" AWTPermission. If this permission is not granted, this method will throw a SecurityException, and the current focus owner will not be cleared.
This method is intended to be used only by KeyboardFocusManager set as current KeyboardFocusManager for the calling thread's context. It is not for general client use.
- Throws:
SecurityException- if the calling thread does not have "replaceKeyboardFocusManager" permission- See Also:
clearFocusOwner(),Component.requestFocus(),FocusEvent.FOCUS_LOST
-
getPermanentFocusOwner
public Component getPermanentFocusOwner()
Returns the permanent focus owner, if the permanent focus owner is in the same context as the calling thread. The permanent focus owner is defined as the last Component in an application to receive a permanent FOCUS_GAINED event. The focus owner and permanent focus owner are equivalent unless a temporary focus change is currently in effect. In such a situation, the permanent focus owner will again be the focus owner when the temporary focus change ends.- Returns:
- the permanent focus owner, or null if the permanent focus owner is not a member of the calling thread's context
- See Also:
getGlobalPermanentFocusOwner(),setGlobalPermanentFocusOwner(java.awt.Component)
-
getGlobalPermanentFocusOwner
protected Component getGlobalPermanentFocusOwner() throws SecurityException
Returns the permanent focus owner, even if the calling thread is in a different context than the permanent focus owner. The permanent focus owner is defined as the last Component in an application to receive a permanent FOCUS_GAINED event. The focus owner and permanent focus owner are equivalent unless a temporary focus change is currently in effect. In such a situation, the permanent focus owner will again be the focus owner when the temporary focus change ends.- Returns:
- the permanent focus owner
- Throws:
SecurityException- if this KeyboardFocusManager is not the current KeyboardFocusManager for the calling thread's context and if the calling thread does not have "replaceKeyboardFocusManager" permission- See Also:
getPermanentFocusOwner(),setGlobalPermanentFocusOwner(java.awt.Component)
-
setGlobalPermanentFocusOwner
protected void setGlobalPermanentFocusOwner(Component permanentFocusOwner) throws SecurityException
Sets the permanent focus owner. The operation will be cancelled if the Component is not focusable. The permanent focus owner is defined as the last Component in an application to receive a permanent FOCUS_GAINED event. The focus owner and permanent focus owner are equivalent unless a temporary focus change is currently in effect. In such a situation, the permanent focus owner will again be the focus owner when the temporary focus change ends.This method does not actually set the focus to the specified Component. It merely stores the value to be subsequently returned by
getPermanentFocusOwner(). UseComponent.requestFocus()orComponent.requestFocusInWindow()to change the focus owner, subject to platform limitations.- Parameters:
permanentFocusOwner- the permanent focus owner- Throws:
SecurityException- if this KeyboardFocusManager is not the current KeyboardFocusManager for the calling thread's context and if the calling thread does not have "replaceKeyboardFocusManager" permission- See Also:
getPermanentFocusOwner(),getGlobalPermanentFocusOwner(),Component.requestFocus(),Component.requestFocusInWindow(),Component.isFocusable()
-
getFocusedWindow
public Window getFocusedWindow()
Returns the focused Window, if the focused Window is in the same context as the calling thread. The focused Window is the Window that is or contains the focus owner.- Returns:
- the focused Window, or null if the focused Window is not a member of the calling thread's context
- See Also:
getGlobalFocusedWindow(),setGlobalFocusedWindow(java.awt.Window)
-
getGlobalFocusedWindow
protected Window getGlobalFocusedWindow() throws SecurityException
Returns the focused Window, even if the calling thread is in a different context than the focused Window. The focused Window is the Window that is or contains the focus owner.- Returns:
- the focused Window
- Throws:
SecurityException- if this KeyboardFocusManager is not the current KeyboardFocusManager for the calling thread's context and if the calling thread does not have "replaceKeyboardFocusManager" permission- See Also:
getFocusedWindow(),setGlobalFocusedWindow(java.awt.Window)
-
setGlobalFocusedWindow
protected void setGlobalFocusedWindow(Window focusedWindow) throws SecurityException
Sets the focused Window. The focused Window is the Window that is or contains the focus owner. The operation will be cancelled if the specified Window to focus is not a focusable Window.This method does not actually change the focused Window as far as the native windowing system is concerned. It merely stores the value to be subsequently returned by
getFocusedWindow(). UseComponent.requestFocus()orComponent.requestFocusInWindow()to change the focused Window, subject to platform limitations.- Parameters:
focusedWindow- the focused Window- Throws:
SecurityException- if this KeyboardFocusManager is not the current KeyboardFocusManager for the calling thread's context and if the calling thread does not have "replaceKeyboardFocusManager" permission- See Also:
getFocusedWindow(),getGlobalFocusedWindow(),Component.requestFocus(),Component.requestFocusInWindow(),Window.isFocusableWindow()
-
getActiveWindow
public Window getActiveWindow()
Returns the active Window, if the active Window is in the same context as the calling thread. Only a Frame or a Dialog can be the active Window. The native windowing system may denote the active Window or its children with special decorations, such as a highlighted title bar. The active Window is always either the focused Window, or the first Frame or Dialog that is an owner of the focused Window.- Returns:
- the active Window, or null if the active Window is not a member of the calling thread's context
- See Also:
getGlobalActiveWindow(),setGlobalActiveWindow(java.awt.Window)
-
getGlobalActiveWindow
protected Window getGlobalActiveWindow() throws SecurityException
Returns the active Window, even if the calling thread is in a different context than the active Window. Only a Frame or a Dialog can be the active Window. The native windowing system may denote the active Window or its children with special decorations, such as a highlighted title bar. The active Window is always either the focused Window, or the first Frame or Dialog that is an owner of the focused Window.- Returns:
- the active Window
- Throws:
SecurityException- if this KeyboardFocusManager is not the current KeyboardFocusManager for the calling thread's context and if the calling thread does not have "replaceKeyboardFocusManager" permission- See Also:
getActiveWindow(),setGlobalActiveWindow(java.awt.Window)
-
setGlobalActiveWindow
protected void setGlobalActiveWindow(Window activeWindow) throws SecurityException
Sets the active Window. Only a Frame or a Dialog can be the active Window. The native windowing system may denote the active Window or its children with special decorations, such as a highlighted title bar. The active Window is always either the focused Window, or the first Frame or Dialog that is an owner of the focused Window.This method does not actually change the active Window as far as the native windowing system is concerned. It merely stores the value to be subsequently returned by
getActiveWindow(). UseComponent.requestFocus()orComponent.requestFocusInWindow()to change the active Window, subject to platform limitations.- Parameters:
activeWindow- the active Window- Throws:
SecurityException- if this KeyboardFocusManager is not the current KeyboardFocusManager for the calling thread's context and if the calling thread does not have "replaceKeyboardFocusManager" permission- See Also:
getActiveWindow(),getGlobalActiveWindow(),Component.requestFocus(),Component.requestFocusInWindow()
-
getDefaultFocusTraversalPolicy
public FocusTraversalPolicy getDefaultFocusTraversalPolicy()
Returns the default FocusTraversalPolicy. Top-level components use this value on their creation to initialize their own focus traversal policy by explicit call to Container.setFocusTraversalPolicy.- Returns:
- the default FocusTraversalPolicy. null will never be returned.
- See Also:
setDefaultFocusTraversalPolicy(java.awt.FocusTraversalPolicy),Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy),Container.getFocusTraversalPolicy()
-
setDefaultFocusTraversalPolicy
public void setDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy)
Sets the default FocusTraversalPolicy. Top-level components use this value on their creation to initialize their own focus traversal policy by explicit call to Container.setFocusTraversalPolicy. Note: this call doesn't affect already created components as they have their policy initialized. Only new components will use this policy as their default policy.- Parameters:
defaultPolicy- the new, default FocusTraversalPolicy- Throws:
IllegalArgumentException- if defaultPolicy is null- See Also:
getDefaultFocusTraversalPolicy(),Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy),Container.getFocusTraversalPolicy()
-
setDefaultFocusTraversalKeys
public void setDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)Sets the default focus traversal keys for a given traversal operation. This traversal keySetwill be in effect on allWindows that have no suchSetof their own explicitly defined. ThisSetwill also be inherited, recursively, by any childComponentof thoseWindowsthat has no suchSetof its own explicitly defined.The default values for the default focus traversal keys are implementation-dependent. Sun recommends that all implementations for a particular native platform use the same default values. The recommendations for Windows and Unix are listed below. These recommendations are used in the Sun AWT implementations.
To disable a traversal key, use an emptyRecommended default values for focus traversal keys Identifier Meaning Default KeyboardFocusManager.FORWARD_TRAVERSAL_KEYSNormal forward keyboard traversal TABonKEY_PRESSED,CTRL-TABonKEY_PRESSEDKeyboardFocusManager.BACKWARD_TRAVERSAL_KEYSNormal reverse keyboard traversal SHIFT-TABonKEY_PRESSED,CTRL-SHIFT-TABonKEY_PRESSEDKeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYSGo up one focus traversal cycle none KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSGo down one focus traversal cycle none Set;Collections.EMPTY_SETis recommended.Using the
AWTKeyStrokeAPI, client code can specify on which of two specificKeyEvents,KEY_PRESSEDorKEY_RELEASED, the focus traversal operation will occur. Regardless of whichKeyEventis specified, however, allKeyEvents related to the focus traversal key, including the associatedKEY_TYPEDevent, will be consumed, and will not be dispatched to anyComponent. It is a runtime error to specify aKEY_TYPEDevent as mapping to a focus traversal operation, or to map the same event to multiple default focus traversal operations.This method may throw a
ClassCastExceptionif anyObjectinkeystrokesis not anAWTKeyStroke.- Parameters:
id- one ofKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, orKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSkeystrokes- the Set ofAWTKeyStrokes for the specified operation- Throws:
IllegalArgumentException- if id is not one ofKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, orKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS, or if keystrokes isnull, or if keystrokes containsnull, or if any keystroke represents aKEY_TYPEDevent, or if any keystroke already maps to another default focus traversal operation- See Also:
getDefaultFocusTraversalKeys(int),Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>),Component.getFocusTraversalKeys(int)
-
getDefaultFocusTraversalKeys
public Set<AWTKeyStroke> getDefaultFocusTraversalKeys(int id)
Returns a Set of default focus traversal keys for a given traversal operation. This traversal key Set will be in effect on all Windows that have no such Set of their own explicitly defined. This Set will also be inherited, recursively, by any child Component of those Windows that has no such Set of its own explicitly defined. (SeesetDefaultFocusTraversalKeysfor a full description of each operation.)- Parameters:
id- one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS- Returns:
- the
SetofAWTKeyStrokes for the specified operation; theSetwill be unmodifiable, and may be empty;nullwill never be returned - Throws:
IllegalArgumentException- if id is not one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS- See Also:
setDefaultFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>),Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>),Component.getFocusTraversalKeys(int)
-
getCurrentFocusCycleRoot
public Container getCurrentFocusCycleRoot()
Returns the current focus cycle root, if the current focus cycle root is in the same context as the calling thread. If the focus owner is itself a focus cycle root, then it may be ambiguous as to which Components represent the next and previous Components to focus during normal focus traversal. In that case, the current focus cycle root is used to differentiate among the possibilities.This method is intended to be used only by KeyboardFocusManagers and focus implementations. It is not for general client use.
- Returns:
- the current focus cycle root, or null if the current focus cycle root is not a member of the calling thread's context
- See Also:
getGlobalCurrentFocusCycleRoot(),setGlobalCurrentFocusCycleRoot(java.awt.Container)
-
getGlobalCurrentFocusCycleRoot
protected Container getGlobalCurrentFocusCycleRoot() throws SecurityException
Returns the current focus cycle root, even if the calling thread is in a different context than the current focus cycle root. If the focus owner is itself a focus cycle root, then it may be ambiguous as to which Components represent the next and previous Components to focus during normal focus traversal. In that case, the current focus cycle root is used to differentiate among the possibilities.- Returns:
- the current focus cycle root, or null if the current focus cycle root is not a member of the calling thread's context
- Throws:
SecurityException- if this KeyboardFocusManager is not the current KeyboardFocusManager for the calling thread's context and if the calling thread does not have "replaceKeyboardFocusManager" permission- See Also:
getCurrentFocusCycleRoot(),setGlobalCurrentFocusCycleRoot(java.awt.Container)
-
setGlobalCurrentFocusCycleRoot
public void setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot) throws SecurityException
Sets the current focus cycle root. If the focus owner is itself a focus cycle root, then it may be ambiguous as to which Components represent the next and previous Components to focus during normal focus traversal. In that case, the current focus cycle root is used to differentiate among the possibilities.If a SecurityManager is installed, the calling thread must be granted the "replaceKeyboardFocusManager" AWTPermission. If this permission is not granted, this method will throw a SecurityException, and the current focus cycle root will not be changed.
This method is intended to be used only by KeyboardFocusManagers and focus implementations. It is not for general client use.
- Parameters:
newFocusCycleRoot- the new focus cycle root- Throws:
SecurityException- if the calling thread does not have "replaceKeyboardFocusManager" permission- See Also:
getCurrentFocusCycleRoot(),getGlobalCurrentFocusCycleRoot()
-
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list. The listener is registered for all bound properties of this class, including the following:- whether the KeyboardFocusManager is currently managing focus for this application or applet's browser context ("managingFocus")
- the focus owner ("focusOwner")
- the permanent focus owner ("permanentFocusOwner")
- the focused Window ("focusedWindow")
- the active Window ("activeWindow")
- the default focus traversal policy ("defaultFocusTraversalPolicy")
- the Set of default FORWARD_TRAVERSAL_KEYS ("forwardDefaultFocusTraversalKeys")
- the Set of default BACKWARD_TRAVERSAL_KEYS ("backwardDefaultFocusTraversalKeys")
- the Set of default UP_CYCLE_TRAVERSAL_KEYS ("upCycleDefaultFocusTraversalKeys")
- the Set of default DOWN_CYCLE_TRAVERSAL_KEYS ("downCycleDefaultFocusTraversalKeys")
- the current focus cycle root ("currentFocusCycleRoot")
- Parameters:
listener- the PropertyChangeListener to be added- See Also:
removePropertyChangeListener(java.beans.PropertyChangeListener),getPropertyChangeListeners(),addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
-
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list. This method should be used to remove the PropertyChangeListeners that were registered for all bound properties of this class.If listener is null, no exception is thrown and no action is performed.
- Parameters:
listener- the PropertyChangeListener to be removed- See Also:
addPropertyChangeListener(java.beans.PropertyChangeListener),getPropertyChangeListeners(),removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
-
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
Returns an array of all the property change listeners registered on this keyboard focus manager.- Returns:
- all of this keyboard focus manager's
PropertyChangeListeners or an empty array if no property change listeners are currently registered - Since:
- 1.4
- See Also:
addPropertyChangeListener(java.beans.PropertyChangeListener),removePropertyChangeListener(java.beans.PropertyChangeListener),getPropertyChangeListeners(java.lang.String)
-
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list for a specific property. The specified property may be user-defined, or one of the following:- whether the KeyboardFocusManager is currently managing focus for this application or applet's browser context ("managingFocus")
- the focus owner ("focusOwner")
- the permanent focus owner ("permanentFocusOwner")
- the focused Window ("focusedWindow")
- the active Window ("activeWindow")
- the default focus traversal policy ("defaultFocusTraversalPolicy")
- the Set of default FORWARD_TRAVERSAL_KEYS ("forwardDefaultFocusTraversalKeys")
- the Set of default BACKWARD_TRAVERSAL_KEYS ("backwardDefaultFocusTraversalKeys")
- the Set of default UP_CYCLE_TRAVERSAL_KEYS ("upCycleDefaultFocusTraversalKeys")
- the Set of default DOWN_CYCLE_TRAVERSAL_KEYS ("downCycleDefaultFocusTraversalKeys")
- the current focus cycle root ("currentFocusCycleRoot")
- Parameters:
propertyName- one of the property names listed abovelistener- the PropertyChangeListener to be added- See Also:
addPropertyChangeListener(java.beans.PropertyChangeListener),removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener),getPropertyChangeListeners(java.lang.String)
-
removePropertyChangeListener
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list for a specific property. This method should be used to remove PropertyChangeListeners that were registered for a specific bound property.If listener is null, no exception is thrown and no action is performed.
- Parameters:
propertyName- a valid property namelistener- the PropertyChangeListener to be removed- See Also:
addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener),getPropertyChangeListeners(java.lang.String),removePropertyChangeListener(java.beans.PropertyChangeListener)
-
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
Returns an array of all thePropertyChangeListeners associated with the named property.- Parameters:
propertyName- the property name- Returns:
- all of the
PropertyChangeListeners associated with the named property or an empty array if no such listeners have been added. - Since:
- 1.4
- See Also:
addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener),removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
-
firePropertyChange
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Fires a PropertyChangeEvent in response to a change in a bound property. The event will be delivered to all registered PropertyChangeListeners. No event will be delivered if oldValue and newValue are the same.- Parameters:
propertyName- the name of the property that has changedoldValue- the property's previous valuenewValue- the property's new value
-
addVetoableChangeListener
public void addVetoableChangeListener(VetoableChangeListener listener)
Adds a VetoableChangeListener to the listener list. The listener is registered for all vetoable properties of this class, including the following:- the focus owner ("focusOwner")
- the permanent focus owner ("permanentFocusOwner")
- the focused Window ("focusedWindow")
- the active Window ("activeWindow")
- Parameters:
listener- the VetoableChangeListener to be added- See Also:
removeVetoableChangeListener(java.beans.VetoableChangeListener),getVetoableChangeListeners(),addVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)
-
removeVetoableChangeListener
public void removeVetoableChangeListener(VetoableChangeListener listener)
Removes a VetoableChangeListener from the listener list. This method should be used to remove the VetoableChangeListeners that were registered for all vetoable properties of this class.If listener is null, no exception is thrown and no action is performed.
- Parameters:
listener- the VetoableChangeListener to be removed- See Also:
addVetoableChangeListener(java.beans.VetoableChangeListener),getVetoableChangeListeners(),removeVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)
-
getVetoableChangeListeners
public VetoableChangeListener[] getVetoableChangeListeners()
Returns an array of all the vetoable change listeners registered on this keyboard focus manager.- Returns:
- all of this keyboard focus manager's
VetoableChangeListeners or an empty array if no vetoable change listeners are currently registered - Since:
- 1.4
- See Also:
addVetoableChangeListener(java.beans.VetoableChangeListener),removeVetoableChangeListener(java.beans.VetoableChangeListener),getVetoableChangeListeners(java.lang.String)
-
addVetoableChangeListener
public void addVetoableChangeListener(String propertyName, VetoableChangeListener listener)
Adds a VetoableChangeListener to the listener list for a specific property. The specified property may be user-defined, or one of the following:- the focus owner ("focusOwner")
- the permanent focus owner ("permanentFocusOwner")
- the focused Window ("focusedWindow")
- the active Window ("activeWindow")
- Parameters:
propertyName- one of the property names listed abovelistener- the VetoableChangeListener to be added- See Also:
addVetoableChangeListener(java.beans.VetoableChangeListener),removeVetoableChangeListener(java.beans.VetoableChangeListener),getVetoableChangeListeners()
-
removeVetoableChangeListener
public void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
Removes a VetoableChangeListener from the listener list for a specific property. This method should be used to remove VetoableChangeListeners that were registered for a specific bound property.If listener is null, no exception is thrown and no action is performed.
- Parameters:
propertyName- a valid property namelistener- the VetoableChangeListener to be removed- See Also:
addVetoableChangeListener(java.beans.VetoableChangeListener),getVetoableChangeListeners(),removeVetoableChangeListener(java.beans.VetoableChangeListener)
-
getVetoableChangeListeners
public VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
Returns an array of all theVetoableChangeListeners associated with the named property.- Parameters:
propertyName- the property name- Returns:
- all of the
VetoableChangeListeners associated with the named property or an empty array if no such listeners have been added. - Since:
- 1.4
- See Also:
addVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener),removeVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener),getVetoableChangeListeners()
-
fireVetoableChange
protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws PropertyVetoException
Fires a PropertyChangeEvent in response to a change in a vetoable property. The event will be delivered to all registered VetoableChangeListeners. If a VetoableChangeListener throws a PropertyVetoException, a new event is fired reverting all VetoableChangeListeners to the old value and the exception is then rethrown. No event will be delivered if oldValue and newValue are the same.- Parameters:
propertyName- the name of the property that has changedoldValue- the property's previous valuenewValue- the property's new value- Throws:
PropertyVetoException- if aVetoableChangeListenerthrewPropertyVetoException
-
addKeyEventDispatcher
public void addKeyEventDispatcher(KeyEventDispatcher dispatcher)
Adds a KeyEventDispatcher to this KeyboardFocusManager's dispatcher chain. This KeyboardFocusManager will request that each KeyEventDispatcher dispatch KeyEvents generated by the user before finally dispatching the KeyEvent itself. KeyEventDispatchers will be notified in the order in which they were added. Notifications will halt as soon as one KeyEventDispatcher returnstruefrom itsdispatchKeyEventmethod. There is no limit to the total number of KeyEventDispatchers which can be added, nor to the number of times which a particular KeyEventDispatcher instance can be added.If a null dispatcher is specified, no action is taken and no exception is thrown.
In a multithreaded application,
KeyEventDispatcherbehaves the same as other AWT listeners. See AWT Threading Issues for more details.- Parameters:
dispatcher- the KeyEventDispatcher to add to the dispatcher chain- See Also:
removeKeyEventDispatcher(java.awt.KeyEventDispatcher)
-
removeKeyEventDispatcher
public void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)
Removes a KeyEventDispatcher which was previously added to this KeyboardFocusManager's dispatcher chain. This KeyboardFocusManager cannot itself be removed, unless it was explicitly re-registered via a call toaddKeyEventDispatcher.If a null dispatcher is specified, if the specified dispatcher is not in the dispatcher chain, or if this KeyboardFocusManager is specified without having been explicitly re-registered, no action is taken and no exception is thrown.
In a multithreaded application,
KeyEventDispatcherbehaves the same as other AWT listeners. See AWT Threading Issues for more details.- Parameters:
dispatcher- the KeyEventDispatcher to remove from the dispatcher chain- See Also:
addKeyEventDispatcher(java.awt.KeyEventDispatcher)
-
getKeyEventDispatchers
protected List<KeyEventDispatcher> getKeyEventDispatchers()
Returns this KeyboardFocusManager's KeyEventDispatcher chain as a List. The List will not include this KeyboardFocusManager unless it was explicitly re-registered via a call toaddKeyEventDispatcher. If no other KeyEventDispatchers are registered, implementations are free to return null or a List of length 0. Client code should not assume one behavior over another, nor should it assume that the behavior, once established, will not change.- Returns:
- a possibly null or empty List of KeyEventDispatchers
- See Also:
addKeyEventDispatcher(java.awt.KeyEventDispatcher),removeKeyEventDispatcher(java.awt.KeyEventDispatcher)
-
addKeyEventPostProcessor
public void addKeyEventPostProcessor(KeyEventPostProcessor processor)
Adds a KeyEventPostProcessor to this KeyboardFocusManager's post- processor chain. After a KeyEvent has been dispatched to and handled by its target, KeyboardFocusManager will request that each KeyEventPostProcessor perform any necessary post-processing as part of the KeyEvent's final resolution. KeyEventPostProcessors will be notified in the order in which they were added; the current KeyboardFocusManager will be notified last. Notifications will halt as soon as one KeyEventPostProcessor returnstruefrom itspostProcessKeyEventmethod. There is no limit to the total number of KeyEventPostProcessors that can be added, nor to the number of times that a particular KeyEventPostProcessor instance can be added.If a null post-processor is specified, no action is taken and no exception is thrown.
In a multithreaded application,
KeyEventPostProcessorbehaves the same as other AWT listeners. See AWT Threading Issues for more details.- Parameters:
processor- the KeyEventPostProcessor to add to the post-processor chain- See Also:
removeKeyEventPostProcessor(java.awt.KeyEventPostProcessor)
-
removeKeyEventPostProcessor
public void removeKeyEventPostProcessor(KeyEventPostProcessor processor)
Removes a previously added KeyEventPostProcessor from this KeyboardFocusManager's post-processor chain. This KeyboardFocusManager cannot itself be entirely removed from the chain. Only additional references added viaaddKeyEventPostProcessorcan be removed.If a null post-processor is specified, if the specified post-processor is not in the post-processor chain, or if this KeyboardFocusManager is specified without having been explicitly added, no action is taken and no exception is thrown.
In a multithreaded application,
KeyEventPostProcessorbehaves the same as other AWT listeners. See AWT Threading Issues for more details.- Parameters:
processor- the KeyEventPostProcessor to remove from the post- processor chain- See Also:
addKeyEventPostProcessor(java.awt.KeyEventPostProcessor)
-
getKeyEventPostProcessors
protected List<KeyEventPostProcessor> getKeyEventPostProcessors()
Returns this KeyboardFocusManager's KeyEventPostProcessor chain as a List. The List will not include this KeyboardFocusManager unless it was explicitly added via a call toaddKeyEventPostProcessor. If no KeyEventPostProcessors are registered, implementations are free to return null or a List of length 0. Client code should not assume one behavior over another, nor should it assume that the behavior, once established, will not change.- Returns:
- a possibly null or empty List of KeyEventPostProcessors
- See Also:
addKeyEventPostProcessor(java.awt.KeyEventPostProcessor),removeKeyEventPostProcessor(java.awt.KeyEventPostProcessor)
-
dispatchEvent
public abstract boolean dispatchEvent(AWTEvent e)
This method is called by the AWT event dispatcher requesting that the current KeyboardFocusManager dispatch the specified event on its behalf. It is expected that all KeyboardFocusManagers will dispatch all FocusEvents, all WindowEvents related to focus, and all KeyEvents. These events should be dispatched based on the KeyboardFocusManager's notion of the focus owner and the focused and active Windows, sometimes overriding the source of the specified AWTEvent. Dispatching must be done usingredispatchEventto prevent the AWT event dispatcher from recursively requesting that the KeyboardFocusManager dispatch the event again. If this method returnsfalse, then the AWT event dispatcher will attempt to dispatch the event itself.- Parameters:
e- the AWTEvent to be dispatched- Returns:
trueif this method dispatched the event;falseotherwise- See Also:
redispatchEvent(java.awt.Component, java.awt.AWTEvent),dispatchKeyEvent(java.awt.event.KeyEvent)
-
redispatchEvent
public final void redispatchEvent(Component target, AWTEvent e)
Redispatches an AWTEvent in such a way that the AWT event dispatcher will not recursively request that the KeyboardFocusManager, or any installed KeyEventDispatchers, dispatch the event again. Client implementations ofdispatchEventand client-defined KeyEventDispatchers must callredispatchEvent(target, e)instead oftarget.dispatchEvent(e)to dispatch an event.This method is intended to be used only by KeyboardFocusManagers and KeyEventDispatchers. It is not for general client use.
- Parameters:
target- the Component to which the event should be dispatchede- the event to dispatch- See Also:
dispatchEvent(java.awt.AWTEvent),KeyEventDispatcher
-
dispatchKeyEvent
public abstract boolean dispatchKeyEvent(KeyEvent e)
Typically this method will be called bydispatchEventif no other KeyEventDispatcher in the dispatcher chain dispatched the KeyEvent, or if no other KeyEventDispatchers are registered. If an implementation of this method returnsfalse,dispatchEventmay try to dispatch the KeyEvent itself, or may simply returnfalse. Iftrueis returned,dispatchEventshould returntrueas well.- Specified by:
dispatchKeyEventin interfaceKeyEventDispatcher- Parameters:
e- the KeyEvent which the current KeyboardFocusManager has requested that this KeyEventDispatcher dispatch- Returns:
trueif the KeyEvent was dispatched;falseotherwise- See Also:
dispatchEvent(java.awt.AWTEvent)
-
postProcessKeyEvent
public abstract boolean postProcessKeyEvent(KeyEvent e)
This method will be called bydispatchKeyEvent. By default, this method will handle any unconsumed KeyEvents that map to an AWTMenuShortcutby consuming the event and activating the shortcut.- Specified by:
postProcessKeyEventin interfaceKeyEventPostProcessor- Parameters:
e- the KeyEvent to post-process- Returns:
trueto indicate that no other KeyEventPostProcessor will be notified of the KeyEvent.- See Also:
dispatchKeyEvent(java.awt.event.KeyEvent),MenuShortcut
-
processKeyEvent
public abstract void processKeyEvent(Component focusedComponent, KeyEvent e)
This method initiates a focus traversal operation if and only if the KeyEvent represents a focus traversal key for the specified focusedComponent. It is expected that focusedComponent is the current focus owner, although this need not be the case. If it is not, focus traversal will nevertheless proceed as if focusedComponent were the current focus owner.- Parameters:
focusedComponent- the Component that will be the basis for a focus traversal operation if the specified event represents a focus traversal key for the Componente- the event that may represent a focus traversal key
-
enqueueKeyEvents
protected abstract void enqueueKeyEvents(long after, Component untilFocused)Called by the AWT to notify the KeyboardFocusManager that it should delay dispatching of KeyEvents until the specified Component becomes the focus owner. If client code requests a focus change, and the AWT determines that this request might be granted by the native windowing system, then the AWT will call this method. It is the responsibility of the KeyboardFocusManager to delay dispatching of KeyEvents with timestamps later than the specified time stamp until the specified Component receives a FOCUS_GAINED event, or the AWT cancels the delay request by invokingdequeueKeyEventsordiscardKeyEvents.- Parameters:
after- timestamp of current event, or the current, system time if the current event has no timestamp, or the AWT cannot determine which event is currently being handleduntilFocused- Component which should receive a FOCUS_GAINED event before any pending KeyEvents- See Also:
dequeueKeyEvents(long, java.awt.Component),discardKeyEvents(java.awt.Component)
-
dequeueKeyEvents
protected abstract void dequeueKeyEvents(long after, Component untilFocused)Called by the AWT to notify the KeyboardFocusManager that it should cancel delayed dispatching of KeyEvents. All KeyEvents which were enqueued because of a call toenqueueKeyEventswith the same timestamp and Component should be released for normal dispatching to the current focus owner. If the given timestamp is less than zero, the outstanding enqueue request for the given Component with the oldest timestamp (if any) should be cancelled.- Parameters:
after- the timestamp specified in the call toenqueueKeyEvents, or any value < 0untilFocused- the Component specified in the call toenqueueKeyEvents- See Also:
enqueueKeyEvents(long, java.awt.Component),discardKeyEvents(java.awt.Component)
-
discardKeyEvents
protected abstract void discardKeyEvents(Component comp)
Called by the AWT to notify the KeyboardFocusManager that it should cancel delayed dispatching of KeyEvents. All KeyEvents which were enqueued because of one or more calls toenqueueKeyEventswith the same Component should be discarded.- Parameters:
comp- the Component specified in one or more calls toenqueueKeyEvents- See Also:
enqueueKeyEvents(long, java.awt.Component),dequeueKeyEvents(long, java.awt.Component)
-
focusNextComponent
public abstract void focusNextComponent(Component aComponent)
Focuses the Component after aComponent, typically based on a FocusTraversalPolicy.- Parameters:
aComponent- the Component that is the basis for the focus traversal operation- See Also:
FocusTraversalPolicy
-
focusPreviousComponent
public abstract void focusPreviousComponent(Component aComponent)
Focuses the Component before aComponent, typically based on a FocusTraversalPolicy.- Parameters:
aComponent- the Component that is the basis for the focus traversal operation- See Also:
FocusTraversalPolicy
-
upFocusCycle
public abstract void upFocusCycle(Component aComponent)
Moves the focus up one focus traversal cycle. Typically, the focus owner is set to aComponent's focus cycle root, and the current focus cycle root is set to the new focus owner's focus cycle root. If, however, aComponent's focus cycle root is a Window, then typically the focus owner is set to the Window's default Component to focus, and the current focus cycle root is unchanged.- Parameters:
aComponent- the Component that is the basis for the focus traversal operation
-
downFocusCycle
public abstract void downFocusCycle(Container aContainer)
Moves the focus down one focus traversal cycle. Typically, if aContainer is a focus cycle root, then the focus owner is set to aContainer's default Component to focus, and the current focus cycle root is set to aContainer. If aContainer is not a focus cycle root, then no focus traversal operation occurs.- Parameters:
aContainer- the Container that is the basis for the focus traversal operation
-
focusNextComponent
public final void focusNextComponent()
Focuses the Component after the current focus owner.
-
focusPreviousComponent
public final void focusPreviousComponent()
Focuses the Component before the current focus owner.
-
upFocusCycle
public final void upFocusCycle()
Moves the focus up one focus traversal cycle from the current focus owner. Typically, the new focus owner is set to the current focus owner's focus cycle root, and the current focus cycle root is set to the new focus owner's focus cycle root. If, however, the current focus owner's focus cycle root is a Window, then typically the focus owner is set to the focus cycle root's default Component to focus, and the current focus cycle root is unchanged.
-
downFocusCycle
public final void downFocusCycle()
Moves the focus down one focus traversal cycle from the current focus owner, if and only if the current focus owner is a Container that is a focus cycle root. Typically, the focus owner is set to the current focus owner's default Component to focus, and the current focus cycle root is set to the current focus owner. If the current focus owner is not a Container that is a focus cycle root, then no focus traversal operation occurs.
-
-