Java KeyListener 丢弃小写字母

标签 java keylistener keyevent

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

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/

相关文章:

Java KeyListener,尝试根据按下的键改变颜色

JavaFX 按键事件 : Difference between isMetaDown() and isAltDown()

java - 处理后退按钮

java - 如何同时响应两个不同的 KeyEvents?

java - 用空格分割字符串

java - Hibernate 不使用 spring boot 从 mysql 表返回数据

java - 这个程序怎么是先序遍历呢?

Java如何制作Keylistener?

java - Grails -- PooledConnection 已经关闭

java - 按键不起作用