如何检查是否按下了左尖括号键?

How do I check if the left angle bracket key is pressed?

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

我想知道是否必须检查是否按下了 Shift 键,然后检查是否也按下了 Comma 键,但我不确定如何在 KeyHandler class,对 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 仅在按键输出字符时触发,而不是在每次按键时触发。此方法更可能适用于其他类型的键盘。但是我没试过,所以我完全不知道它是否有效。

我相信您会希望对“<”和“>”分别使用 VK_LESS 和 VK_GREATER。

您可以使用 KeyEvents.getKeyChar() 方法

public void keyPressed(KeyEvent e) {
    if (evt.getKeyChar().equals("<")) {
         /*your code*/
    }
}