2

次の例のように、 JIDE の CheckBoxTreeを使用して、ネストされたチェックボックスのツリーを表示しています。

サンプル画像

ツリー モデルに含まれるノードの数を知りたいです。

メソッドtree.getModel().getChildCount(rootNode)を呼び出すと、直接の子の数 (この場合は 12) のみが取得され、さらにネストされた子の数 (20+) は取得されません。

4

2 に答える 2

7

再帰的に:

public int getNumberOfNodes(TreeModel model)  
{  
    return getNumberOfNodes(model, model.getRoot());  
}  

private int getNumberOfNodes(TreeModel model, Object node)  
{  
    int count = 1;
    int nChildren = model.getChildcount(node);  
    for (int i = 0; i < nChildren; i++)  
    {  
        count += getNumberOfNodes(model, model.getChild(node, i));  
    }  
    return count;  
}
于 2012-12-19T14:21:35.957 に答える
2

getChild()メソッドを使用して自分でツリーをトラバースします。

http://en.wikipedia.org/wiki/Tree_traversal

于 2012-12-19T14:21:41.673 に答える