2017-09-01 11 views
0

私はRCPアプリケーションを構築しています。私はそれのためのカスタムエクスプローラを使用しています。 私はTreeViewerをカスタムコンテンツとラベルプロバイダで使用しています。TreeViewer Java

私の問題は、子をルートオブジェクトの子として表示できないということです。

設定は次のとおりです。 特定の階層内のすべての子を含むオブジェクトを取得しました。 私はそのオブジェクトから子供を得ることができますが、子供のようにそれらを表示することはできません。私のコンテンツプロバイダは、それらをルート要素としてのみ表示します。

私の質問は、どうして私はそれらを子供のようにぶら下げますか? getElementメソッドはオブジェクトの配列だけを返しますが、その配列のオブジェクトが親か子かどうかをどのように判断できるのか分かりません。

私はあなたがITreeContentProviderを実装し、コンテンツプロバイダを使用TreeViewerために私に

答えて

0

を助けることができると思います。

ITreeContentProvidergetElementsメソッドは、ツリーの最上位要素のみを返す必要があります。ツリー要素がツリービューアはhasChildren方法、コンテンツプロバイダを呼び出します任意の子供持っているかどうかを判断するために

:ここ

public boolean hasChildren(Object element) 

elementは、ツリー内の既存の要素です。

は要素の子供たちが木の視聴者が getChildrenメソッドを呼び出します取得するには:

public Object[] getChildren(Object parentElement) 

プロバイダは要素parentElementのためにすべての子を返します。子がない場合は、空の配列を返します。nullを返しません。

詳細はhere

関連する問題