2012-03-04 21 views

回答

1

您可以通过计算从node开始在getParent()上迭代的父母的数量来获得深度,直到结果为null

您可以通过node.getIndex(node.getParent())获取node的索引。

如果您需要遍历每个节点的信息,我建议您提高编写自己的遍历代码的效率,灵感来自DefaultMutableTreeNode.getNextNode()DefaultMutableTreeNode.PreorderEnumeration内部类。在后一种情况下,生成的堆栈应该包含一个结构{ node, treeDepth, siblingIndex }

+0

不重新发明轮子,有api获取节点距离根节点的距离:node.getLevel()直到最近才知道它,浏览api doc可以创造奇迹:-) – kleopatra 2012-03-07 10:42:01

+0

我同意。 getLevel()完全符合我描述的计数,但如果您需要每个节点的信息,则效率不高。 – 2012-03-07 15:34:52