Java: Recursive Search of TreeModel via it's UserObject field?

此生再无相见时 提交于 2019-12-22 08:03:59

问题


I have a Jtree using DefaultTreeModel, each individual node contains a UserObject containing various string fields.

I would like to find and select a node by doing a recursive traversal until it finds the DefaultMutableTreeNode with UserObject matching one of it's fields and programmatically select that node.

Are there any examples involving searching via DefaultMutableTreeNode's UserObject fields?


回答1:


DefaultMutableTreeNode has depthFirstEnumeration() and breadthFirstEnumeration(). Call the one you desire, iterate through the enumeration until you find the node that has the UserObject you want.

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


来源:https://stackoverflow.com/questions/9557186/java-recursive-search-of-treemodel-via-its-userobject-field

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!