Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

java

jtree

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?

like image 713
KJW Avatar asked Dec 22 '22 01:12

KJW


1 Answers

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;
    }
}
like image 96
JB Nizet Avatar answered Mar 14 '23 22:03

JB Nizet