2017-09-01 63 views
0

我正在構建一個RCP應用程序。我正在使用自定義資源管理器。 我使用Treeviewer進行自定義內容和標籤提供程序。TreeViewer Java

我現在的問題是,我無法將孩子顯示爲根對象的子元素。

設置如下: 我得到一個包含所有孩子(在某個層次中)的對象。 我可以讓孩子離開那個對象,但我不能像孩子一樣展示他們。我的內容提供者僅將它們顯示爲根元素。

因此,我的問題是,我如何將他們掛在孩子身上? getElement方法只返回一個對象數組,我不知道如何判斷該數組中的對象是父母還是子女。

我希望你能幫助我

回答

0

對於您使用它實現ITreeContentProvider內容供應商TreeViewer

ITreeContentProvidergetElements方法應該只返回樹的頂層元素。

如果要判斷一個樹元素有子樹查看器將調用內容供應商hasChildren方法:

public boolean hasChildren(Object element) 

這裏element是樹中的現有元素。

獲取元素的孩子樹查看器將調用getChildren方法:

public Object[] getChildren(Object parentElement) 

提供商返回任何兒童的元素parentElement。如果沒有孩子返回空數組,則永不返回null

詳情請參閱here