如何在jtree中搜索特定节点并扩展该节点.

Man*_*anB 7 java swing jtree

我有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)