我有一个FilterRowHeaderComposite图层,用户可以在其中输入过滤器来过滤显示的行。我还显示当前显示的行数#的计数。
我想知道当有人输入过滤器并且行数发生变化时,更新显示行数的最佳方法是什么。是捕获某个特定事件,扩展FilterRowHeaderComposite并触发某些事件等吗?
谢谢!
更新: 这是我在德克斯评论后最终做的事情
nattable.addLayerListener(event -> {
if (event instanceof RowStructuralRefreshEvent) {
// Code to update count to user
}
});
答案 0 :(得分:1)
如果发生列表更改,GlazedListsEventLayer
会在UI线程中触发NatTable堆栈中的RowStructuralRefreshEvent
或VisualRefreshEvent
。所以你可以听听。或者您可以通过创建在ListEventListener
上注册的GlazedLists FilterList
来直接收听列表本身的更改。