我搜索了KeyPressed
和KeyTyped
事件之间的差异,但我仍然不清楚这一点。我发现的一件事是Keypressed首先被触发而不是KeyTyped。
当这些被触发时,请澄清我。哪个适合用于哪个目的?
提前致谢
答案 0 :(得分:12)
keyPressed
。按下一个可以转换为unicode字符的键时会触发keyTyped
。例如,如果Shift键关闭,则按“a”会告诉keyTyped
您键入了大写字母A,而keyPressed
只会获得“a”键,而没有大写字母或小写字母。您无法从event.getKeyChar()
调用keyPressed
,因为没有与事件关联的键字符。字符只来自keyTyped
。
基本思想是keyTyped
用于查找键入的字符,keyPressed
用于获取原始键按下。
答案 1 :(得分:-1)
KeyPressed
。当密钥关闭然后备份时,会发生KeyTyped
。我不确定“快速连续”是否是一项要求,如果是,“快速”有多快。
编辑:KeyTyped
实际上是从键盘发送unicode字符时。通常,关键行为是它会下降然后快速连续备份。