我想过滤一些字符,即文本字段中的字母“a”。我明确不想为此任务使用推荐的TextFormatter / setTextFormatter() 。
下面的代码示例实际上应该在事件调度链上的事件到达 TextField 节点之前消耗它,它是parentNode的子节点,但它没有。当然,如果我在文本字段节点本身上设置过滤器,也会发生同样的情况。
为什么?
parentNode.addEventFilter(KeyEvent.KEY_PRESSED, event -> {
if (event.getCode() == KeyCode.A) {
event.consume();
}
});