我有一个使用DefaultTreeModel的Jtree,每个单独的节点都包含一个包含各种字符串字段的UserObject。
我想通过递归遍历找到并选择一个节点,直到它找到DefaultMutableTreeNode,UserObject匹配其中一个字段并以编程方式选择该节点。
是否有任何涉及通过DefaultMutableTreeNode的UserObject字段进行搜索的示例?
答案 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;
}
}