java - 如何检查左尖括号键是否被按下?

标签 java keyboard keycode

在Java中,我检查了虚拟键代码列表,没有“<”的VK。我已经在我的程序中尝试过“VK_LESS”(听起来可能是“<”),但这也不起作用。

我想知道是否必须检查 Shift 键是否被按下,然后检查逗号键是否也被按下,但我不知道如何在 KeyHandler 类中使用keyPressed 方法的 switch 语句。

最佳答案

KeyHandler keyPressed 方法将接收 KeyEvent。您可以在该 KeyEvent 上调用 isShiftDown() 来查看当前是否按下了 Shift 键。

public void keyPressed(KeyEvent e) {
    if (e.getKeyCode() == KeyEvent.VK_COMMA && e.isShiftDown()) {
         // do your thing!
    }
}

您还可以尝试这样做:

public void keyTyped(KeyEvent e) {
    if (e.getKeyChar() == '<') {  
         ...
    }
}

请注意使用 keyTyped 而不是 keyPressedkeyTyped 仅在按键输出字符时触发,而不是在每次按键时触发。此方法更有可能适用于其他类型的键盘。但我没有尝试过,所以我不知道它是否有效。

关于java - 如何检查左尖括号键是否被按下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36751392/

相关文章:

java - 是否可以以某种方式扩展标记为最终的 Joda-Time 类?

java - 如何避免在获取可选参数的方法中使用 if 语句

android - keyOutputText 在软键盘上不起作用

linux - 如何在Linux终端中恢复 "doskey"功能?

javascript - 在 jquery 和 keydrown 插件中为 lshift down 分配函数?

c++ - 有没有办法从 C++ 中的 char 获取虚拟键码?

java - Jquery $.post 问题

java - 斯坦福解析器 : how to print also parsing tree and universal dependencies?

iPhone 键盘 Shift 键已禁用

javascript - 输入类型编号时如何防止 "0"作为第一个字符?