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