【发布时间】:2021-07-30 11:05:24
【问题描述】:
我想过滤一些字符,即 TextField 中的字母“a”。我明确不想为此任务使用推荐的 TextFormatter / setTextFormatter()。
下面的代码示例实际上应该在事件调度链上的事件到达 TextField 节点之前消耗它,它是 parentNode 的子节点,但它没有。当然,如果我在文本字段节点本身上设置过滤器,也会发生同样的情况。
为什么?
parentNode.addEventFilter(KeyEvent.KEY_PRESSED, event -> {
if (event.getCode() == KeyCode.A) {
event.consume();
}
});
【问题讨论】:
-
_ 我明确不想使用推荐的 TextFormatter_ 为什么不呢?
-
因为我想了解事件处理大声笑,这就是为什么。在此示例中使用 TextFormatter 很容易,但不是问题...
-
啊,我明白了,但是您的回答并没有真正帮助您(完全理解事件处理:) 无论如何,您应该编辑您的问题:学术练习完全有效,但如果问题是关于它们,应该在问题中明确说明
-
这就是我写“理解事件处理”而不是“完全”的原因。彻底阅读问题/ cmets 可以防止不必要的讨论... ;-)