我已经谷歌搜索了一段时间,基本上有些网页说没有太大的区别。除了一些要点:
EventFilter
在EventHandler
之前执行EventFilter
对event.Consume();
不敏感。 让我看看我的理解是否正确: 假设我有:Button b = new Button("Test"); b.addEventHandler(.....){...}; b.addEventFilter(......){...};
假设它们都与一个MouseEvent.MOUSE_CLICKED
相关联,那么EventFilter
的代码将首先被执行!?
现在假设我有:
Button b= new Button("Test");
b.addEventHandler(.....);
b.addEventFilter(......){
//some code
event.consume();
}; // First filter
b.addEventFilter(......){
//some other code
event.consume();
}; // Second filter
在这种情况下,两个 EventFilter
都会被执行,但是 EventHandler
不会被执行。对吗?
还有其他需要知道的事情吗?是否存在应该更喜欢其中一个的情况?我是否应该有时候将它们一起使用以解决某些问题?
谢谢!