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