|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.KeyboardFocusManager java.awt.DefaultKeyboardFocusManager
public class DefaultKeyboardFocusManager
AWT 應用程序的預設 KeyboardFocusManager。通過進行焦點遍歷來回應 Component 的焦點遍歷鍵,並使用 Container 的 FocusTraversalPolicy。
有關更多資訊,請參閱 The Java Tutorial 中的 How to Use the Focus Subsystem 一節以及 Focus Specification。
FocusTraversalPolicy
,
Component.setFocusTraversalKeys(int, java.util.Set extends java.awt.AWTKeyStroke>)
,
Component.getFocusTraversalKeys(int)
欄位摘要 |
---|
從類別 java.awt.KeyboardFocusManager 繼承的欄位 |
---|
BACKWARD_TRAVERSAL_KEYS, DOWN_CYCLE_TRAVERSAL_KEYS, FORWARD_TRAVERSAL_KEYS, UP_CYCLE_TRAVERSAL_KEYS |
建構子摘要 | |
---|---|
DefaultKeyboardFocusManager()
|
方法摘要 | |
---|---|
protected void |
dequeueKeyEvents(long after,
Component untilFocused)
釋放正常指派到當前焦點所有者的所有 KeyEvent,這些 KeyEvent 因為調用了具有相同時間戳和 Component 的 enqueueKeyEvents 而被加入佇列。 |
protected void |
discardKeyEvents(Component comp)
放棄因為一次或多次調用具有指定 Component 或其子代之一的 enqueueKeyEvents 而加入佇列的所有 KeyEvent。 |
boolean |
dispatchEvent(AWTEvent e)
此方法由 AWT 事件排程程序調用,該排程程序請求當前的 KeyboardFocusManager 以它的名義指派指定的事件。 |
boolean |
dispatchKeyEvent(KeyEvent e)
如果排程程序鏈中其他 KeyEventDispatcher 都沒有排程 KeyEvent,或者沒有註冊其他 KeyEventDispatcher,則由 dispatchEvent 調用此方法。 |
void |
downFocusCycle(Container aContainer)
將焦點下移一個焦點遍歷循環。 |
protected void |
enqueueKeyEvents(long after,
Component untilFocused)
延遲對 KeyEvent 的指派,直到指定的 Component 成為焦點所有者。 |
void |
focusNextComponent(Component aComponent)
使 aComponent 後面的 Component 擁有焦點,通常基於 FocusTraversalPolicy。 |
void |
focusPreviousComponent(Component aComponent)
使 aComponent 前面的 Component 擁有焦點,通常基於 FocusTraversalPolicy。 |
boolean |
postProcessKeyEvent(KeyEvent e)
由 dispatchKeyEvent 調用此方法。 |
void |
processKeyEvent(Component focusedComponent,
KeyEvent e)
當且僅當該 KeyEvent 表示指定 focusedComponent 的焦點遍歷鍵時,此方法才會啟動一個焦點遍歷操作。 |
void |
upFocusCycle(Component aComponent)
將焦點上移一個焦點遍歷循環。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
public DefaultKeyboardFocusManager()
方法詳細資訊 |
---|
public boolean dispatchEvent(AWTEvent e)
false
,則 AWT 事件排程程序會試著指派事件本身。
KeyboardFocusManager
中的 dispatchEvent
e
- 要指派的 AWTEvent
true
;否則返回 false
KeyboardFocusManager.redispatchEvent(java.awt.Component, java.awt.AWTEvent)
,
KeyboardFocusManager.dispatchKeyEvent(java.awt.event.KeyEvent)
public boolean dispatchKeyEvent(KeyEvent e)
dispatchEvent
調用此方法。如果沒有使用該事件,而是啟用了它的目標,且焦點所有者不為 null,則此方法會將該事件指派到它的目標。此方法隨後會將該事件指派到所有已註冊的 KeyEventPostProcessor。完成所有這些操作之後,會將該事件傳遞給 KeyEventPostProcessor 的同位體進行處理。
在所有情況下,此方法都將返回 true
,這是因為設計了 DefaultKeyboardFocusManager,因此,在任何情況下,dispatchEvent
和 AWT 事件排程程序都不應該對該事件執行進一步的操作。
KeyEventDispatcher
中的 dispatchKeyEvent
KeyboardFocusManager
中的 dispatchKeyEvent
e
- 要指派的 KeyEvent
true
Component.dispatchEvent(java.awt.AWTEvent)
public boolean postProcessKeyEvent(KeyEvent e)
dispatchKeyEvent
調用此方法。它將處理所有未使用的、映射到 AWT MenuShortcut
的 KeyEvent,這是通過使用該事件並啟動快捷方式來實作的。
KeyEventPostProcessor
中的 postProcessKeyEvent
KeyboardFocusManager
中的 postProcessKeyEvent
e
- 要進行後處理的 KeyEvent
true
dispatchKeyEvent(java.awt.event.KeyEvent)
,
MenuShortcut
public void processKeyEvent(Component focusedComponent, KeyEvent e)
KeyboardFocusManager
中的 processKeyEvent
focusedComponent
- 作為焦點遍歷操作的基礎的 Component,如果指定事件表示 Component 的焦點遍歷鍵,則執行焦點遍歷操作e
- 可以表示焦點遍歷鍵的事件protected void enqueueKeyEvents(long after, Component untilFocused)
dequeueKeyEvents
或 discardKeyEvents
取消延遲請求。
KeyboardFocusManager
中的 enqueueKeyEvents
after
- 當前事件的時間戳,如果當前事件沒有時間戳,或 AWT 無法確定當前正在處理哪個事件,則此參數為當前系統時間untilFocused
- 將接收任何掛起 KeyEvent 之前的 FOCUS_GAINED 事件的 ComponentdequeueKeyEvents(long, java.awt.Component)
,
discardKeyEvents(java.awt.Component)
protected void dequeueKeyEvents(long after, Component untilFocused)
enqueueKeyEvents
而被加入佇列。如果給定的時間戳小於零,那麼對於具有最早的時間戳(如果有)的給定 Component,應該取消未完成的入隊請求。
KeyboardFocusManager
中的 dequeueKeyEvents
after
- 調用 enqueueKeyEvents
期間指定的時間戳,或為小於零的任意值untilFocused
- 調用 enqueueKeyEvents
期間指定的 ComponentenqueueKeyEvents(long, java.awt.Component)
,
discardKeyEvents(java.awt.Component)
protected void discardKeyEvents(Component comp)
enqueueKeyEvents
而加入佇列的所有 KeyEvent。
KeyboardFocusManager
中的 discardKeyEvents
comp
- 一次或多次調用 enqueueKeyEvents
期間指定的 Component,或這樣一個 Component 的父元件enqueueKeyEvents(long, java.awt.Component)
,
dequeueKeyEvents(long, java.awt.Component)
public void focusPreviousComponent(Component aComponent)
KeyboardFocusManager
中的 focusPreviousComponent
aComponent
- 作為焦點遍歷操作的基礎的 ComponentFocusTraversalPolicy
,
Component.transferFocusBackward()
public void focusNextComponent(Component aComponent)
KeyboardFocusManager
中的 focusNextComponent
aComponent
- 作為焦點遍歷操作的基礎的 ComponentFocusTraversalPolicy
,
Component.transferFocus()
public void upFocusCycle(Component aComponent)
KeyboardFocusManager
中的 upFocusCycle
aComponent
- 作為焦點遍歷操作的基礎的 ComponentComponent.transferFocusUpCycle()
public void downFocusCycle(Container aContainer)
KeyboardFocusManager
中的 downFocusCycle
aContainer
- 作為焦點遍歷操作的基礎的 ComponentContainer.transferFocusDownCycle()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。