对于我正在编写的程序,我想测试是否按下了几个键,然后确定如何处理键组合。所以我试图让@键注册时遇到了一些问题(Shift + 2)我尝试了这个If语句
if (ke.getKeyCode() == KeyEvent.VK_2 && ke.getKeyCode() == KeyEvent.VK_SHIFT) {
为什么不起作用?我正在测试2和Shift键同时被激活,o它不能那样工作吗?
答案 0 :(得分:1)
使用KeyEvent.VK_AT而非寻找SHIFT + 2. @
符号并非位于所有键盘的相同位置。
所以你的代码变成了:
if (ke.getKeyCode() == KeyEvent.VK_AT) {
}
如果确实想检查是否按下了shift键,请查看InputEvent.getModifiers()或InputEvent.isShiftDown()
根据评论中的更新规范,您要做的是:
if (ke.getKeyChar() == '@') {
}