eclipse - 仅从 SWT/JFace TableViewer 刷新一列/单元格

标签 eclipse jface tableviewer

我目前有一个大表(大约 1000 行)和大约 20 列。在 20 列中,我需要每 2-3 秒刷新一次(保存从对象创建开始的耗时) ,我已经尝试过每 3 秒刷新整个表一次,但由于行数太多,性能要求很高。惩罚整个表刷新。

有人见过一种在 JFace tableviewer 中仅刷新一个单元格/一列的方法吗?我需要刷新一个耗时列,仅此而已。

非常感谢任何帮助。

谢谢 米尔恰

最佳答案

我发现 TableViewer 并没有期望只刷新一行中的一个单元格。

AbstractTableViewer
protected void doUpdateItem(Widget widget, Object element, boolean fullMap)

你需要重写上面的方法。当前实现刷新整行(基本上在每个单元格上调用 LabelProvider)

您可以遵循相同的实现,但在特定的ViewerCell上调用更新

关于eclipse - 仅从 SWT/JFace TableViewer 刷新一列/单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14996469/

相关文章:

java - JFace SWT TableViewer 中的图像和文本

java - SWT 表查看器在行选择上添加复选框

java - Mac 和 Windows 用户可以使用 Eclipse 与 openJDK 8 一起工作吗?

c++ - sleep 功能无法解决

SWT 文本小部件 : how to insert own MenuItems into the default context menu?

java - 使 JFace TableViewer 调整其周围复合 Material 的大小?

java - JNI UnsatisfiedLinkError ...签名不一致?

Java Eclipse Swing 设计

java - SWT DragSourceEvent 图像未正确锚定到鼠标指针

java - 如何在 JFace TreeViewer 中禁用可折叠