我正面临Java swt的问题。在我的RCP应用程序中,我运行一个线程,每次启动它时清除一个表,这样它就可以再次显示列表中的元素。新列表已更新。
问题是当我运行主题时,uploadInformationTab.removeAll()
或uploadInformationtab.clearAll()
删除|清除除了我已经选择TableEditor progressBarEditor=new TableEditor(uploadInformationTab)
和TableEditor checkBoxEditor=new TableEditor(uploadInformationTab)
的项目之外的所有项目。< / p>
我无法找到解决此问题的方法。
我希望我的问题足够明确。
答案 0 :(得分:3)
您可能需要处理在表中设置新值时设置的任何编辑器。类似的东西:
Control oldEditor = progressBarEditor.getEditor();
if (oldEditor != null) oldEditor.dispose();
oldEditor = checkBoxEditor.getEditor();
if (oldEditor != null) oldEditor.dispose();
注意:如果这是Eclipse RCP,您可以使用更容易使用的JFace TableViewer
和EditingSupport
。
更新
Table.clearAll()
只清除表格中所有行的文字和图标。它使行数保持不变。 Table.removeAll()
将表设置为空,完全删除所有现有行。