【发布时间】:2011-01-21 15:27:48
【问题描述】:
我想知道在接收回调/事件时,“常规”Java 应用程序是否常见以下情况。这些回调可能由用户输入触发,也可能由其他方式触发,因此它不仅与 UI 事件有关:
public void handleEvent( @NotNull final SomeEvent e ) {
final boolean process;
synchronized ( this ) {
process = !e.equals(filter);
filter = e;
}
if ( process ) {
...
}
}
基本上在一些复杂的方案下(非常复杂的 UI 涉及同一模型的多个视图,并且用户可以从不同的屏幕修改模型 [例如在复杂的 3D 程序中])我有很多事件触发并且我已经注意到我可以使用上面的 sn-p 过滤掉重复的事件。如果一个事件已被处理并且下一个事件与上一个处理的事件完全相同(保存在filter 参考中),则事件/回调将被忽略。
它工作正常。我想知道过滤掉重复事件是否是一种常用技术?
【问题讨论】:
-
我以前从没听说过这个,但是我在涉及 UI 的 java 中做的编程不多
标签: java events filter callback