测试是否在Java中按下@键

时间:2015-01-19 20:01:01

标签: java

对于我正在编写的程序,我想测试是否按下了几个键,然后确定如何处理键组合。所以我试图让@键注册时遇到了一些问题(Shift + 2)我尝试了这个If语句

if (ke.getKeyCode() == KeyEvent.VK_2 && ke.getKeyCode() == KeyEvent.VK_SHIFT) {

为什么不起作用?我正在测试2和Shift键同时被激活,o它不能那样工作吗?

1 个答案:

答案 0 :(得分:1)

使用KeyEvent.VK_AT而非寻找SHIFT + 2. @符号并非位于所有键盘的相同位置。

所以你的代码变成了:

if (ke.getKeyCode() == KeyEvent.VK_AT) {

}

如果确实想检查是否按下了shift键,请查看InputEvent.getModifiers()InputEvent.isShiftDown()

根据评论中的更新规范,您要做的是:

if (ke.getKeyChar() == '@') {

}