Java:通过它的UserObject字段递归搜索TreeModel?

时间:2012-03-04 17:31:48

标签: java jtree

我有一个使用DefaultTreeModel的Jtree,每个单独的节点都包含一个包含各种字符串字段的UserObject。

我想通过递归遍历找到并选择一个节点,直到它找到DefaultMutableTreeNode,UserObject匹配其中一个字段并以编程方式选择该节点。

是否有任何涉及通过DefaultMutableTreeNode的UserObject字段进行搜索的示例?

1 个答案:

答案 0 :(得分:10)

DefaultMutableTreeNode有depthFirstEnumeration()breadthFirstEnumeration()。调用您想要的那个,遍历枚举,直到找到具有您想要的UserObject的节点。

DefaultMutableTreeNode theNode = null;
for (Enumeration e = root.depthFirstEnumeration(); e.hasMoreElements() && theNode == null;) {
    DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.nextElement();
    if (whatIWantIs(node.getUserObject)) {
        theNode = node;
    }
}