如何在Java SWT中从树中删除TreeItem?

时间:2016-01-23 07:22:47

标签: java swt

我正在使用java SWT进行应用程序开发。

在工具中有一个包含一些子节点的SWT树,我想删除其中的一些。我尝试使用remove()和removeAll()方法,但它不会完全删除该项目。它为TreeItem留下了一个空间。

enter image description here

2 个答案:

答案 0 :(得分:5)

TreeItemWidget的后代,其中包含dispose()方法。根据文件:

  

处置与之关联的操作系统资源   接收器及其所有后代。调用此方法后,   接收者和所有后代在发送时都会回答为真   message isDisposed()。小部件之间的任何内部连接   树将被删除,以方便垃圾收集。这个   如果窗口小部件已经处理,则该方法不执行任何操作。

所以treeItem.dispose()会有用。

答案 1 :(得分:4)

根据the other question,您应该在要完全删除的树项上使用item.dispose()