【发布时间】:2014-08-04 14:06:18
【问题描述】:
我正在尝试将我从键侦听器的KeyEvent.getKeyCode() 获得的键代码与KeyEvent.VK_SLASH 之类的键代码进行比较,但是当我按下斜线键时(我知道它是斜线,因为它显示 /),比较(if(e.getKeyCode() == KeyEvent.VK_SLASH)) 是错误的。
但是,当我将其与 KeyEvent.VK_DEAD_ACUTE 进行比较时,它返回 true。
ABCD 或数字等其他键很好,但 ` 和 / 等一些键不同。
这是为什么?我该如何解决这个问题?
编辑:其他键(例如 ')也会受到影响,因为它会生成 . And pressing the 键给我 VK_DEFINED
【问题讨论】:
-
VK_SLASH也可以是反斜杠,对吧?像这样 -> \\. -
还有你用的是什么类型的键盘?
-
什么操作系统?什么版本的Java。在 MacOS 上运行正常
-
我在 Windows 7 上。我使用的键盘是 90 年代的非常旧的 SIEMENS 键盘......但是按斜杠键确实给了我一个“/”,所以我怀疑它是键盘故障。反斜杠键有自己的键码
KeyEvent.VK_BACKSLASH。 -
我认为 Anubian Noob 的意思是您使用的是什么键盘 layout?
标签: java awt keylistener keyevent