次の例のように、 JIDE の CheckBoxTreeを使用して、ネストされたチェックボックスのツリーを表示しています。
ツリー モデルに含まれるノードの数を知りたいです。
メソッドtree.getModel().getChildCount(rootNode)を呼び出すと、直接の子の数 (この場合は 12) のみが取得され、さらにネストされた子の数 (20+) は取得されません。
次の例のように、 JIDE の CheckBoxTreeを使用して、ネストされたチェックボックスのツリーを表示しています。
ツリー モデルに含まれるノードの数を知りたいです。
メソッドtree.getModel().getChildCount(rootNode)を呼び出すと、直接の子の数 (この場合は 12) のみが取得され、さらにネストされた子の数 (20+) は取得されません。
再帰的に:
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;
}
getChild()
メソッドを使用して自分でツリーをトラバースします。