通用密钥代码(Java)

She*_*don 5 java keyboard

嗨,我正在编写一个基于用户按下的键的监听器,必须以某种方式操作.

我需要能够确定用户是否按下了I键或M键.其实我这样做:

// If pressed the 'i' key
if ( evt.getKeyCode() == 73) {
    //
}
...
Run Code Online (Sandbox Code Playgroud)

我在这里看一下,并使用示例applet确定I密钥被识别为73代码.

这样可行.

但是我在Mac OS X上工作,我不知道一旦我尝试在另一个操作系统或JVM上运行这个应用程序,它就无法运行.

73是通用密钥代码吗?是否有某种方式对其进行编程,以便它可以在Windows上运行并确定按下的键.

谢谢!

Pau*_*ley 9

哦,你正在寻找KeyEvent.VK_Whatever常量.

if ( evt.getKeyCode() == KeyEvent.VK_I) {
    // user pressed 'i'
} else if ( evt.getKeyCode() == KeyEvent.VK_M) {
    // user pressed 'm'
}
Run Code Online (Sandbox Code Playgroud)

有关其余信息,请参阅KeyEvent API文档.应该有意义.


use*_*421 2

只是补充保罗布林克利的答案。

73是通用钥匙代码吗?

是的,它是大写字母“I”的ASCII代码。请参阅KeyEvent.VK_A的 javadoc

注意力

尽管有这种巧合,但最好不要做类似的事情getKeyCode() == 'A'- 它可能在未来的实现中失败。