我使用 JNativehook 检测一些按键输入。
但是有什么方法可以停止从OS到应用程序的输入,这意味着当我按“ k”时,“ k”将不会输入到应用程序或停止输入线程? 或禁用键盘,使其可能只是在听。 如果我错了,请纠正我。
答案 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();
}
}
});