我有一个包含 3 列和多行 (>4000)的表格查看器。
当调用tableviewer.setInput(myList)
它需要永远,我可以接受,但我想实现一个监视器,以便用户可以知道发生了什么,但我不知道如何开始或在哪里调用监视器。任何帮助将不胜感激。
我有一个包含 3 列和多行 (>4000)的表格查看器。
当调用tableviewer.setInput(myList)
它需要永远,我可以接受,但我想实现一个监视器,以便用户可以知道发生了什么,但我不知道如何开始或在哪里调用监视器。任何帮助将不胜感激。
我假设您使用的是 SWT/JFace(您没有明确表示,但从代码片段中我猜您会这样做)。
您是否考虑过为您的表使用 SWT.VIRTUAL?
查看TableViewer JavaDoc和ILazyContentProvider JavaDoc。
如果您不能或不想使用虚拟表,我知道在执行 setInput() 时显示进度条并不容易,因为 setInput() 必须从 UI 线程调用并且会阻塞直到完成. 因此,在等待 setInput 返回时实际上并没有一种更新 UI 的方法(至少,如果您不自己实现查看器和 setInput 方法,则不会)...