2015-11-05 42 views

回答

1

我想你指的是org.eclipse.swt.widgets.Display,如果是这样:

在正常情况下addFilteraddListener都将被通知的相同的事件,然而addFilter将提前调用。

在那里他们不同的是,听众加入addFilter可以被分派到听众取消事件添加addListener,它通过设置event.typeSWT.None做到这一点:

addFilterjavadocs

设定一个事件的类型从所述的handleEvent()内SWT.NONE可用于 方法来改变事件类型和停止从后续奔跑的Java 听众G。由于事件筛选器在其他 侦听器之前运行,事件筛选器既可以阻止其他侦听器,也可以在事件中设置任意字段。出于这个原因,事件过滤器是 既强大又危险。对于 性能,调试和代码维护的原因,通常应避免使用它们。

注意有关事件过滤器的最后一部分“[...]既强大又危险的。它们一般应避免[...]”

+0

谢谢@Jonah – Learner

相关问题