KeyPressed and KeyTyped Confusion [duplicate]

雨燕双飞 提交于 2020-01-25 06:07:31

问题


I have searched about difference between KeyPressedand KeyTyped Events but still I'm not clear about that . One thing I have found is Keypressed is triggered first than KeyTyped . Please clarify me when these are triggered exactly . Which is appropriate to use for which purpose ? Thanks in advance


回答1:


keyPressed is fired whenever any key press occurs. keyTyped is fired when a key is pressed that can be converted into a unicode character. If the shift key is down, for example, pressing "a" will tell keyTyped that you typed a capital A, and keyPressed will just get the "a" key, without capital or lowercase designations. You cannot call event.getKeyChar() from keyPressed, because there is no key char associated with the events. Characters only come from keyTyped.

The basic idea is that keyTyped is used to find characters that are typed, and keyPressed is used for obtain raw key presses.




回答2:


KeyPressed happens when the key goes down. KeyTyped happens when the key goes down and then back up. I'm not sure if "in rapid succession" is a requirement, and if it is, how fast "rapid" is.

Edit: KeyTyped is actually when a unicode char is sent from the keyboard. USUALLY, the key behavior is that it goes down and then back up in rapid succession.

Taken from: KeyListener, keyPressed versus keyTyped



来源:https://stackoverflow.com/questions/17797231/keypressed-and-keytyped-confusion

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!