使用过滤器时如何显示 Jface TableViewer 刷新的进度?

How can I show the progress of a Jface TableViewer Refresh when using a filter?

我正在向我的 TableViewer 添加一个 ViewerFilter。

ViewerFilter filter = new MyViewerFilter();   
this.tableViewer.addFilter(this.filter);

我正在使用以下代码过滤和刷新 TableViewer

this.filter.setSearchText("some text");   
this.tableViewer.refresh();

由于这需要很长时间(可能大约 5 秒),我想使用进度监视器显示刷新进度。但是,我无法找到在 ProgressMonitor.worked() 方法中完成设置工作的刷新量。

没有这样的API。当前的 API 假设刷新速度如此之快,以至于您不需要它。您可以尝试优化过滤器代码或将 table 虚拟化。但我的猜测是您的 table 太大了。找到减小尺寸的方法。