Java 当表内容更改时,在SWT中触发哪个事件

Java 当表内容更改时,在SWT中触发哪个事件,java,events,swt,jface,Java,Events,Swt,Jface,我在SWT中有一个带有一些过滤器的TableViewer对象。因此,当过滤器更改TableViewer表的内容时,也会更改。我搜索了在表中添加或删除TableItem时触发的事件,但未找到任何结果。有这样的事件吗 我想使用显示的所有行进行计算,这样我的处理程序就可以管理统计数据——比如列的总和——这就是我需要事件的原因。过滤时是否明确调用setInput?如果是这样,请查看contentprovider inputChanged方法。我想这可以解决你的问题。嗨,贝拉,谢谢你的帮助!我不调用set

我在SWT中有一个带有一些过滤器的TableViewer对象。因此,当过滤器更改TableViewer表的内容时,也会更改。我搜索了在表中添加或删除TableItem时触发的事件,但未找到任何结果。有这样的事件吗


我想使用显示的所有行进行计算,这样我的处理程序就可以管理统计数据——比如列的总和——这就是我需要事件的原因。

过滤时是否明确调用setInput?如果是这样,请查看contentprovider inputChanged方法。我想这可以解决你的问题。

嗨,贝拉,谢谢你的帮助!我不调用setInput。我通过扩展ViewerFilter并覆盖ViewerFilter.select进行过滤。在那里,我只检查行是否满足预先定义的条件,并返回true或false。最后,我使用TableViewer.addFilter添加我的扩展ViewerFilter。我没有找到任何更改表内容的事件。无论如何,我找到了解决问题的另一个方法:在我的过滤器中有一个设置过滤器条件并调用TableViewer.refresh的方法。当执行从刷新返回时,我使用刷新的表来计算统计数据。