2012-01-23 3 views
0

私はチェックボックスノードツリーを構築しようとしています。チェックボックスノードツリー

私の仕様では、アイコンのようなフォルダではなくチェックボックスでも親ノードが必要です。

私は、既定のチェックボックスノードツリーが親ノードのフォルダアイコンと葉ノードのチェックボックスになることを認識しました。

どのように私はそれを達成することができますか?

+0

は、UIノードを拡張ペイント()メソッドをオーバーライドするか、独自のカスタムUIノードクラスを作成します。 – Adrian

答えて

2

こんにちは、私はあなたがノードでもチェックボックスに

が含まれている場所を次のようにそれを達成することができますfollowng画像のように必要があると思う:

String[] strs = {"swing",  // 0 
    "platf",  // 1 
    "basic",  // 2 
    "metal",  // 3 
    "JTree"}; // 4 

CheckNode[] nodes = new CheckNode[strs.length]; 
for (int i=0;i<strs.length;i++) { 
    nodes[i] = new CheckNode(strs[i]); 
} 
nodes[0].add(nodes[1]); 
nodes[1].add(nodes[2]); 
nodes[1].add(nodes[3]); 
nodes[0].add(nodes[4]); 
nodes[3].setSelected(true); 
JTree tree = new JTree(nodes[0]); 
tree.setCellRenderer(new CheckRenderer()); 
tree.getSelectionModel().setSelectionMode(
    TreeSelectionModel.SINGLE_TREE_SELECTION 
); 

refer full example