Java可以停止键盘输入Java吗?

时间:2018-11-28 09:25:43

标签: java jnativehook

我使用 JNativehook 检测一些按键输入。

但是有什么方法可以停止从OS到应用程序的输入,这意味着当我按“ k”时,“ k”将不会输入到应用程序或停止输入线程? 或禁用键盘,使其可能只是在听。 如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:1)

您可以在按键事件产生的字符上使用consume()。例如,如果您有一个swing应用程序,并且想停止特定文本字段中的所有键盘输入,则可以执行以下操作:

textField.addKeyListener(new KeyAdapter() {
        public void keyTyped(KeyEvent e) {
            char c = e.getKeyChar();
            e.consume();
        }
    });

如果要禁止输入特定字符(假设您只允许用户在文本字段中键入数字),则可以使用以下命令:

textField.addKeyListener(new KeyAdapter() {
        public void keyTyped(KeyEvent e) {

            char c = e.getKeyChar();
            if ((c < '0') || (c > '9')) { 
                e.consume(); 
            }
        }
    });