2016-01-23 3 views
2

Я использую java SWT для разработки приложения.Как удалить TreeItem из дерева в java SWT?

В инструменте есть дерево SWT с некоторыми дочерними узлами, и я хочу удалить некоторые из них. Я пробовал использовать методы remove() и removeAll(), но не полностью удалял элемент. Это оставляет пространство для TreeItem.

enter image description here

+1

Является ли Tree + TreeItem используемым или JFace TreeViewer? –

ответ

4

Согласно this post, вы должны использовать item.dispose() на TreeItem вы хотите, чтобы полностью удалить.

5

TreeItem является потомком Widget который содержит метод dispose(). Согласно документации:

Предоставляет ресурсы операционной системы, связанные с приемником и всеми его потомками. После того, как этот метод был вызван, приемник и все потомки ответят true, когда отправлено сообщение isDisposed(). Любые внутренние соединения между виджетами в Дерево будет удалено для облегчения сбора мусора. Этот метод ничего не делает, если виджет уже установлен.

So treeItem.dispose() будет работать.