我一直在搜索一段时间,我发现基本上,一些网页说没有什么大的区别.除了一些点:
> EventFilter在EventHandler之前执行
> EventFilter对事件不敏感.Consume();
让我看看如果我明白了:
让我说:
按钮b =新建按钮(“测试”);
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
在这种情况下,将会执行博客EventFilters,但EventHandler不会执行.对?
还有其他事情要知道吗?在某种情况下,我应该推荐一个还是其他?我有时会一起使用它们来解决一些问题吗?
谢谢!
解决方法
我完全不了解你的问题,但是我在oracle文档中发现了这一点:
过滤器和处理程序之间的主要区别是每个执行时.