Java KeyListener 丢弃小写字母

Java KeyListener discarding lower case letters

我正在尝试检测何时在文本字段中按下特定键。

if((event.getKeyCode()>=KeyEvent.VK_A && event.getKeyCode()<=KeyEvent.VK_Z)){//65 to 90
    System.out.println("pass");
    event.consume();
}

出于某种原因,这只会检测和停止大写字母,例如 "A",但不会停止 "a"。我如何让这个程序停止小写字母。

getKeyCode() 恰好 return ASCII 码,您只过滤掉 A 到 Z 码,即 65 到 90。

getKeyChar() return如果您正在使用 KEY_TYPED 事件,则为一个字符。这可用于检测 'A' 到 'Z' 和 'a' 到 'z'。即

if (Character.isAlphabetic(event.getKeyChar())) {
     // ....
}