SwingX 项目中的JXTable有一种方法可以RowFilter直接在JXTable(请参阅参考资料JXTable#setRowFilter)上设置。
我不清楚当过滤器实现是动态的时你需要做什么。
比较一下:在JDK中他们RowSorter在JDK1.6中引入了接口,这个接口允许附加一个RowSorterListener. 如果您有一个动态的RowSorter(也可以用于过滤),您可以在过滤器更改时向这些侦听器触发一个事件(尽管这要求过滤器可以访问,因为在 JDKRowSorter中没有 aDynamicRowFilter或RowFilterEvent)。
我所期望的是我可以设置一个“可观察的”RowFilter并且JXTable我什么都不用做。但由于当前的 API 似乎无法做到这一点,那么下一个最好的事情是什么?
- 每次更改时重新设置过滤器。这是否会产生影响,因为它与之前设置的实例完全相同
JXTable? - 滥用表格事件并触发您的表格模型已更改的事件,这将重新触发排序/过滤
- 不要使用该
setRowFilter方法并创建自己的方法并使用TableRowSorterJDK API。