对于我正在编写的程序,我想测试是否按下了几个键,然后确定对组合键执行什么操作。所以我在尝试注册 @ 键时遇到了一些问题(Shift + 2)我尝试了这个 If 语句
if (ke.getKeyCode() == KeyEvent.VK_2 && ke.getKeyCode() == KeyEvent.VK_SHIFT) {
为什么不起作用?我正在测试 2 和 Shift 键同时激活,o 这样不行吗?
最佳答案
使用KeyEvent.VK_AT而不是寻找 SHIFT + 2。@
符号在所有键盘上的位置并不相同。
所以你的代码变成:
if (ke.getKeyCode() == KeyEvent.VK_AT) {
}
如果您确实想要检查是否按下了 Shift 键,请查看 InputEvent.getModifiers()或InputEvent.isShiftDown()
根据评论中的更新规范,您想要做的是:
if (ke.getKeyChar() == '@') {
}
关于java - 在Java中测试@键是否被按下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28032599/