JavaTM 2 Platform
Standard Ed. 6

java.awt
介面 KeyEventPostProcessor

所有已知實作類別:
DefaultFocusManager, DefaultKeyboardFocusManager, FocusManager, KeyboardFocusManager

public interface KeyEventPostProcessor

在最終解析所有未使用的 KeyEvent 時,需要將 KeyEventPostProcessor 和當前的 KeyboardFocusManager 一起使用。在當前 KeyboardFocusManager 中註冊的 KeyEventPostProcessor 在 KeyEvent 被指派到目標並由目標處理後接收它們。因為目前應用程序中不存在擁有該焦點的 Component,所以也可以將這些 KeyEvent 轉發到已註冊的 KeyEventPostProcessor 中,否則它們將被丟棄。這允許應用程序實作需要全體 KeyEvent 後處理的功能,如選單快捷鍵。

注意,KeyboardFocusManager 本身實作了 KeyEventPostProcessor。預設情況下,當前的 KeyboardFocusManager 將是鏈中的最終 KeyEventPostProcessor。無法將當前 KeyboardFocusManager 作為 KeyEventPostProcessor 完全註銷。但是,如果 KeyEventPostProcessor 報告不應進一步後處理 KeyEvent,則 AWT 將認為已完全處理了該事件,不再對它執行任何其他操作。(儘管客戶端程式碼將當前的 KeyboardFocusManager 一次或多次註冊為 KeyEventPostProcessor 是可能的,但通常不必要也不建議這樣做。)

從以下版本開始:
1.4
另請參見:
KeyboardFocusManager.addKeyEventPostProcessor(java.awt.KeyEventPostProcessor), KeyboardFocusManager.removeKeyEventPostProcessor(java.awt.KeyEventPostProcessor)

方法摘要
 boolean postProcessKeyEvent(KeyEvent e)
          當前 KeyboardFocusManager 調用此方法,請求此 KeyEventPostProcessor 執行應該作為 KeyEvent 最終解析的一部分的所需後處理。
 

方法詳細資訊

postProcessKeyEvent

boolean postProcessKeyEvent(KeyEvent e)
當前 KeyboardFocusManager 調用此方法,請求此 KeyEventPostProcessor 執行應該作為 KeyEvent 最終解析的一部分的所需後處理。在調用此方法時,通常已經將該 KeyEvent 指派到其目標並由其目標進行了處理。但是,如果目前應用程序中任何 Component 均不擁有該焦點,則表示尚未將該 KeyEvent 指派給任何 Component。通常情況下,KeyEvent 後處理用於實作需要全體 KeyEvent 後處理的功能,如選單快捷鍵。注意,如果 KeyEventPostProcessor 希望指派 KeyEvent,則其必須使用 redispatchEvent 來防止 AWT 遞歸式請求此 KeyEventPostProcessor 再次後處理該事件。

如果此方法的實作返回 false,則將 KeyEvent 傳入鏈中的下一個 KeyEventPostProcessor,以當前的 KeyboardFocusManager 結尾。如果實作返回 true,則假定已經完全處理了該 KeyEvent(儘管事實不一定如此),AWT 將不對該 KeyEvent 進行任何進一步的操作。如果實作使用了 KeyEvent,但是返回 false,則仍將所使用的事件傳入鏈中的下一個 KeyEventPostProcessor。開發人員在後處理 KeyEvent 之前檢查是否已經使用了該 KeyEvent 至關重要。預設情況下,當前 KeyboardFocusManager 不執行任何回應已使用 KeyEvent 的後處理操作。

參數:
e - 要後處理的 KeyEvent
返回:
如果 AWT 不應該對該 KeyEvent 執行進一步操作,則返回 true;否則返回 false
另請參見:
KeyboardFocusManager.redispatchEvent(java.awt.Component, java.awt.AWTEvent)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only