2013-03-28 42 views
0

如何判斷用戶是否從KeyTyped方法內部按下了「Backspace」鍵?它們的值從arg0.getKeyChar()不是KeyEvent.CHAR_UNDEFINED,而arg0.getKeyCode()KeyEvent.VK_UNDEFINED,因爲它始終位於KeyTyped方法的內部。我必須使用KeyReleased/KeyPressed方法並標記布爾值嗎?哪種方法首先啓動? KeyReleased或KeyTyped?Java KeyListener:是否在KeyTyped中按下「Backspace」鍵

+0

的keyPressed按下按鍵時會觸發(下)按鍵被釋放(上)時 的keyReleased觸發 的keyTyped只是在用戶鍵入後發射了Unicode字符進入收聽的組件。 – Flot2011

+0

@ Flot2011那麼在KeyTyped之前KeyReleased?還是取決於? – Justin

回答

2

它看起來像KeyTyped無法檢測到沒有可視化表示的鍵。我認爲這包括退格。

KeyListener, keyPressed versus keyTyped

+0

它在getKeyChar()中給了什麼呢? – Justin

+0

剛剛找到它。當我將arg0.getKeyChar()強制轉換爲int時,我得到的數字是8.在其他計算機上它是否一樣? (對於Enter鍵,我得到10,對於ESC,我得到27.這些值是否標準化?) – Justin

+0

http://www.fileformat.info/info/unicode/char/0008/index.htm – Jazzepi