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

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

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

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

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; } }