|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.KeyboardFocusManager java.awt.DefaultKeyboardFocusManager
The default KeyboardFocusManager for AWT applications. Focus traversal is done in response to a Component's focus traversal keys, and using a Container's FocusTraversalPolicy.
FocusTraversalPolicy
,
Component.setFocusTraversalKeys(int, java.util.Set)
,
Component.getFocusTraversalKeys(int)
Nested Class Summary | |
private static class |
DefaultKeyboardFocusManager.DefaultKeyboardFocusManagerSentEvent
A special type of SentEvent which updates a counter in the target KeyboardFocusManager if it is an instance of DefaultKeyboardFocusManager. |
private static class |
DefaultKeyboardFocusManager.TypeAheadMarker
|
Nested classes inherited from class java.awt.KeyboardFocusManager |
|
Field Summary | |
private boolean |
consumeNextKeyTyped
|
private LinkedList |
enqueuedKeyEvents
|
private int |
inSendMessage
|
private Component |
realOppositeComponent
|
private Window |
realOppositeWindow
|
private LinkedList |
typeAheadMarkers
|
Fields inherited from class java.awt.KeyboardFocusManager |
BACKWARD_TRAVERSAL_KEYS, currentSequencedEvent, DOWN_CYCLE_TRAVERSAL_KEYS, FORWARD_TRAVERSAL_KEYS, SNFH_FAILURE, SNFH_SUCCESS_HANDLED, SNFH_SUCCESS_PROCEED, TRAVERSAL_KEY_LENGTH, UP_CYCLE_TRAVERSAL_KEYS |
Constructor Summary | |
DefaultKeyboardFocusManager()
|
Method Summary | |
protected void |
dequeueKeyEvents(long after,
Component untilFocused)
Releases for normal dispatching to the current focus owner all KeyEvents which were enqueued because of a call to enqueueKeyEvents with the same timestamp and Component.
|
protected void |
discardKeyEvents(Component comp)
Discards all KeyEvents which were enqueued because of one or more calls to enqueueKeyEvents with the specified Component, or one of
its descendants. |
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. |
boolean |
dispatchKeyEvent(KeyEvent e)
Called by dispatchEvent if no other
KeyEventDispatcher in the dispatcher chain dispatched the KeyEvent, or
if no other KeyEventDispatchers are registered. |
void |
downFocusCycle(Container aContainer)
Moves the focus down one focus traversal cycle. |
protected void |
enqueueKeyEvents(long after,
Component untilFocused)
Delays dispatching of KeyEvents until the specified Component becomes the focus owner. |
void |
focusNextComponent(Component aComponent)
Focuses the Component after aComponent, typically based on a FocusTraversalPolicy. |
void |
focusPreviousComponent(Component aComponent)
Focuses the Component before aComponent, typically based on a FocusTraversalPolicy. |
private Window |
getOwningFrameDialog(Window window)
|
boolean |
postProcessKeyEvent(KeyEvent e)
This method will be called by dispatchKeyEvent . |
private boolean |
preDispatchKeyEvent(KeyEvent ke)
|
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. |
private void |
pumpApprovedKeyEvents()
|
private void |
purgeStampedEvents(long start,
long end)
|
private boolean |
restoreFocus(Component toFocus,
boolean clearOnFailure)
|
private void |
restoreFocus(FocusEvent fe,
Window newFocusedWindow)
|
private boolean |
restoreFocus(Window aWindow,
Component vetoedComponent,
boolean clearOnFailure)
|
private void |
restoreFocus(WindowEvent we)
|
private boolean |
sendMessage(Component target,
AWTEvent e)
Sends a synthetic AWTEvent to a Component. |
private boolean |
typeAheadAssertions(Component target,
AWTEvent e)
|
void |
upFocusCycle(Component aComponent)
Moves the focus up one focus traversal cycle. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private Window realOppositeWindow
private Component realOppositeComponent
private int inSendMessage
private LinkedList enqueuedKeyEvents
private LinkedList typeAheadMarkers
private boolean consumeNextKeyTyped
Constructor Detail |
public DefaultKeyboardFocusManager()
Method Detail |
private Window getOwningFrameDialog(Window window)
private void restoreFocus(FocusEvent fe, Window newFocusedWindow)
private void restoreFocus(WindowEvent we)
private boolean restoreFocus(Window aWindow, Component vetoedComponent, boolean clearOnFailure)
private boolean restoreFocus(Component toFocus, boolean clearOnFailure)
private boolean sendMessage(Component target, AWTEvent e)
public boolean dispatchEvent(AWTEvent e)
false
, then the AWT event
dispatcher will attempt to dispatch the event itself.
dispatchEvent
in class KeyboardFocusManager
e
- the AWTEvent to be dispatched
true
if this method dispatched the event;
false
otherwiseKeyboardFocusManager.redispatchEvent(java.awt.Component, java.awt.AWTEvent)
,
KeyboardFocusManager.dispatchKeyEvent(java.awt.event.KeyEvent)
public boolean dispatchKeyEvent(KeyEvent e)
dispatchEvent
if no other
KeyEventDispatcher in the dispatcher chain dispatched the KeyEvent, or
if no other KeyEventDispatchers are registered. If the event has not
been consumed, its target is enabled, and the focus owner is not null,
this method dispatches the event to its target. This method will also
subsequently dispatch the event to all registered
KeyEventPostProcessors. After all this operations are finished,
the event is passed to peers for processing.
In all cases, this method returns true
, since
DefaultKeyboardFocusManager is designed so that neither
dispatchEvent
, nor the AWT event dispatcher, should take
further action on the event in any situation.
dispatchKeyEvent
in interface KeyEventDispatcher
dispatchKeyEvent
in class KeyboardFocusManager
e
- the KeyEvent to be dispatched
true
Component.dispatchEvent(java.awt.AWTEvent)
public boolean postProcessKeyEvent(KeyEvent e)
dispatchKeyEvent
. It will
handle any unconsumed KeyEvents that map to an AWT
MenuShortcut
by consuming the event and activating the
shortcut.
postProcessKeyEvent
in interface KeyEventPostProcessor
postProcessKeyEvent
in class KeyboardFocusManager
e
- the KeyEvent to post-process
true
dispatchKeyEvent(java.awt.event.KeyEvent)
,
MenuShortcut
private void pumpApprovedKeyEvents()
private boolean typeAheadAssertions(Component target, AWTEvent e)
private boolean preDispatchKeyEvent(KeyEvent ke)
public void processKeyEvent(Component focusedComponent, KeyEvent e)
processKeyEvent
in class KeyboardFocusManager
focusedComponent
- the Component that is 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 keyprotected void enqueueKeyEvents(long after, Component untilFocused)
dequeueKeyEvents
or discardKeyEvents
.
enqueueKeyEvents
in class KeyboardFocusManager
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 will receive a FOCUS_GAINED event
before any pending KeyEventsdequeueKeyEvents(long, java.awt.Component)
,
discardKeyEvents(java.awt.Component)
protected void dequeueKeyEvents(long after, Component untilFocused)
enqueueKeyEvents
with the same timestamp and Component.
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.
dequeueKeyEvents
in class KeyboardFocusManager
after
- the timestamp specified in the call to
enqueueKeyEvents
, or any value < 0untilFocused
- the Component specified in the call to
enqueueKeyEvents
enqueueKeyEvents(long, java.awt.Component)
,
discardKeyEvents(java.awt.Component)
protected void discardKeyEvents(Component comp)
enqueueKeyEvents
with the specified Component, or one of
its descendants.
discardKeyEvents
in class KeyboardFocusManager
comp
- the Component specified in one or more calls to
enqueueKeyEvents
, or a parent of such a ComponentenqueueKeyEvents(long, java.awt.Component)
,
dequeueKeyEvents(long, java.awt.Component)
private void purgeStampedEvents(long start, long end)
public void focusPreviousComponent(Component aComponent)
focusPreviousComponent
in class KeyboardFocusManager
aComponent
- the Component that is the basis for the focus
traversal operationFocusTraversalPolicy
,
Component.transferFocusBackward()
public void focusNextComponent(Component aComponent)
focusNextComponent
in class KeyboardFocusManager
aComponent
- the Component that is the basis for the focus
traversal operationFocusTraversalPolicy
,
Component.transferFocus()
public void upFocusCycle(Component aComponent)
upFocusCycle
in class KeyboardFocusManager
aComponent
- the Component that is the basis for the focus
traversal operationComponent.transferFocusUpCycle()
public void downFocusCycle(Container aContainer)
downFocusCycle
in class KeyboardFocusManager
aContainer
- the Container that is the basis for the focus
traversal operationContainer.transferFocusDownCycle()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |