我正在尝试检测何时在文本字段内按下特定键。
if((event.getKeyCode()>=KeyEvent.VK_A && event.getKeyCode()<=KeyEvent.VK_Z)){//65 to 90
System.out.println("pass");
event.consume();
}
出于某种原因,这只会检测并停止大写字母,例如“A”,但不会停止“a”。我如何让这个程序停止小写字母。
最佳答案
getKeyCode() 恰好返回 ASCII 代码,而您仅过滤掉 A 到 Z 代码,即 65 到 90。
如果您使用 KEY_TYPED 事件,getKeyChar() 将返回一个字符。这可用于检测“A”到“Z”和“a”到“z”。即
if (Character.isAlphabetic(event.getKeyChar())) {
// ....
}
关于Java KeyListener 丢弃小写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43952007/