2

この質問は些細なことに聞こえるかもしれませんが、私はこの問題に苦労しているので、できれば助けてください。だから、ここにあります:私はCheckboxTreeViewerいくつかの正当な理由でを使用しています。いくつかのクラスの使用法についてグーグルで検索しましたが、現在、選択したノードのすべての子をチェック/チェック解除し、StyledCellLabelProviderプロバイダーのカスタム実装を使用してライブ検索後に選択を保持できます。これまでのところすべて順調です。setInput()ただし、これまでのところ、ウィジェットを表示してビューアーのメソッドを呼び出した後、ツリー ビューアーの 1 つ以上の要素をプログラムで選択することはできません。

たとえば、ツリーに 10 個のメイン ノードがあり、ノード 6 に 5 個のリーフがあるとします。私の質問は、3 番目のリーフのチェック状態を設定するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

4

ツリー ビューアには ICheckedStateProvider を使用する必要があります。例えば:

checkboxTreeViewer.setCheckStateProvider(new TreeCheckedStatedProvider());

private class TreeCheckedStatedProvider implements ICheckStateProvider {

    @Override
    public boolean isChecked(Object element) {
        return false;
    }

    @Override
    public boolean isGrayed(Object element) {
        return false;
    }

}
于 2012-02-20T13:43:33.830 に答える
0

これを見てみましょう: http://akravets.blogspot.com/2009/08/disabling-nodes-in-checkboxtreeviewer.html、役立つかもしれません。あなたが探しているものに対する 100% の解決策ではないかもしれませんが、いくつかのノードをスキップする方法を説明します。

于 2010-09-01T18:11:22.407 に答える