java - 在Java中测试@键是否被按下

标签 java

对于我正在编写的程序,我想测试是否按下了几个键,然后确定对组合键执行什么操作。所以我在尝试注册 @ 键时遇到了一些问题(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/

相关文章:

java - 使用 php 帮助执行 java

java - 如何创建 MockNdefMessages

java - 从给定的 IP 地址和子网掩码获取所有 IP 地址

java - 对齐 JEditorPane 的 html 内容(图像)

java - joda yyyy-MM-dd'T'HH :mm:ss. SSSZZ 和 ISO (wiki) 日期格式有什么区别?

java - RandomGenerator - 失去 50% 的平面模拟

java - 将 JavaFx 添加到小程序

java - eclipse hadoop 连接被拒绝

java - 编译器一直在说Scanner的未定义构造函数。

Java 数组重复