TextArea忽略JavaFX中的KeyEvent

TextArea忽略JavaFX中的KeyEvent

问题描述:

Java,JavaFX 就像标题中一样,我如何才能强制TextArea忽略KeyEvent,而不是代替此KeyEvent.我想说的是,我想覆盖从KeyEvent追加字符的方法.

Java,JavaFX As in tittle, how can i force TextArea to ignore KeyEvent,and make sth instead of this KeyEvent. I should rather say that I would like to overwrite method which append a character from KeyEvent.

示例:如果我在TextArea中的键盘上单击"k",我希望将其打印在控制台中(不附加在TextArea上)

Fo example: If i click 'k' on keyboard in the TextArea i would like it to be printed in console (not appended to TextArea)

朋友,请尝试以下操作:

Friend, try this:

TextArea textArea = new TextArea();
textArea.addEventFilter(KeyEvent.KEY_TYPED, e -> {
    if (e.getCharacter().equals("k")) {
        e.consume();
    }
});

或:

TextArea textArea = new TextArea();
textArea.setOnKeyTyped(e -> {
    if (e.getCharacter().equals("k")) {
        e.consume();
    }
});