frame实现KeyListener的接口,然后在Keypressed的函数中无论如何都监听不到小键盘,只有大键盘有用,VK_PLUS之类的,完全进不去,换成VK_RIGHT就没有问题,求高手解答啊>_<
5条回答 默认 最新
save4me 2014-12-26 07:07关注我查了一下资料,也用How to use Key Events in Swing这个也是代码测试了一下,参考类 KeyEvent(英文版的Class KeyEvent)
"Key pressed"和"key released" 事件 是低级别事件,依赖于平台和键盘布局。
在我的笔记本测试中,在中文输入输入法,在数字键盘输入模式,捕捉不到键盘输入事件,但是如果把输入法切换到英文输入的模式,可以正常捕捉到输入的键值。
"Key typed"键入键”事件 是高级别事件,通常不依赖于平台或键盘布局。输入 Unicode 字符时生成此类事件,它们被认为是发现字符输入的最佳方式。
因为数字键盘上的字符都是Unicode字符,所以建议使用public void keyTyped(KeyEvent e)来捕捉输入的是什么。
纠正一下我上次的回答,没有VK_NUMPADPLUS,只有VK_PLUS,主键盘上没有直接的加号,而是SHIFT和=号组合。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报