删除SWT TableEditor

时间:2014-01-14 07:48:28

标签: java swt editor

我正面临Java swt的问题。在我的RCP应用程序中,我运行一个线程,每次启动它时清除一个表,这样它就可以再次显示列表中的元素。新列表已更新。

问题是当我运行主题时,uploadInformationTab.removeAll()uploadInformationtab.clearAll()删除|清除除了我已经选择TableEditor progressBarEditor=new TableEditor(uploadInformationTab)TableEditor checkBoxEditor=new TableEditor(uploadInformationTab)的项目之外的所有项目。< / p>

我无法找到解决此问题的方法。

我希望我的问题足够明确。

1 个答案:

答案 0 :(得分:3)

您可能需要处理在表中设置新值时设置的任何编辑器。类似的东西:

Control oldEditor = progressBarEditor.getEditor();
if (oldEditor != null) oldEditor.dispose();

oldEditor = checkBoxEditor.getEditor();
if (oldEditor != null) oldEditor.dispose();

注意:如果这是Eclipse RCP,您可以使用更容易使用的JFace TableViewerEditingSupport

更新

Table.clearAll()只清除表格中所有行的文字和图标。它使行数保持不变。 Table.removeAll()将表设置为空,完全删除所有现有行。