2016-06-14 2 views
0

に行くにJFaceTreeビューアで異なるレベルの2つのノードを更新する方法を、Aは、Bはどこかで、その後、別のルートつのルートで、ダウンAの下で、我々はB.1は、我々が想定した場合は1が</p> <p>に行くにJFaceTreeビューアで異なるレベルの2つのノードを更新する方法

下のどこかダウンCと同じCを列挙されますしている今、私は1つに両方の場所でノードCをリフレッシュするだけでCノードのそれぞれにTreeViewer.refresh(Object)を呼び出す

答えて

0

を行きます。このツリーは、次回のメインディスパッチループが実行されるまで実際にリフレッシュされないため、これらの更新は一度に表示されます。

注:CオブジェクトがTreeViewerと同じオブジェクト(equalsがtrueを返し、hashCodeが同じ)に見える場合は、リフレッシュに問題がある可能性があります。ツリー内の別の場所で同じオブジェクトを使用しないでください。またはこれが避けられない場合は、ツリービューアがオブジェクトを区別できるようにIElementComparerを使用してください。

+0

私はリフレッシュ(アイテム)を試みましたが、問題は、構造化された選択から1アイテムしか得られず、そのアイテムだけをリフレッシュすることができます。私はどのようにCオブジェクトのインスタンスをすべて取得するのですか?_IElementComparer_ しかし、それは助けにはなりませんでした。IElementComparerのサンプルリンクを教えてください – user1328572

+0

わからないので、すべてのCオブジェクトを見つける方法を教えてくれませんあなたのデータモデルはどんなものですか?コンテンツプロバイダーでこれらのオブジェクトをすべて提供しているので、そこで何かできるはずです。 IElementComparerはオブジェクトの検索に役立ちません。 –

関連する問題