我有100个节点的jtree.现在我想从该树中搜索特定节点并使该节点扩展..?我怎么解决这个问题.?
tra*_*god 24
扩展@mKorbel的答案,如" 如何使用树"中所述,您可以TreeModel递归搜索并获得TreePath结果节点.一旦你有了所需的path,就可以很容易地在树中展示它.
tree.setSelectionPath(path);
tree.scrollPathToVisible(path);
Run Code Online (Sandbox Code Playgroud)
附录:这是"获得一个TreePath" 的一种方式.
private TreePath find(DefaultMutableTreeNode root, String s) {
@SuppressWarnings("unchecked")
Enumeration<DefaultMutableTreeNode> e = root.depthFirstEnumeration();
while (e.hasMoreElements()) {
DefaultMutableTreeNode node = e.nextElement();
if (node.toString().equalsIgnoreCase(s)) {
return new TreePath(node.getPath());
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)