2013-05-13 50 views
1

我在我的应用程序中实现了包含200个节点的outline view。我如何搜索特定的节点并将其展开?如何搜索摆动大纲视图中的节点

我也看过breadthFirstEnumeration()depthFirstEnumeration()DefaultMutableTreeNode的方法,但在Outline中找不到等价的方法。

回答

2

该方法取决于用于构建您的OutlineModelTreeModel。在引用的FileTreeModel中,getRoot()返回表示分层文件系统中的子树的根的任意File。可以如here所示的递归搜索该子树。不是打印结果,而是将代表路径的File实例累积到数组中。该数组将用于构造TreePath。给定这样的treePath,您可以以类似于here所示的方式显示相应的节点。

outline.expandPath(treePath); 
outline.scrollRectToVisible(getPathBounds(treePath)); 
+0

非常感谢提供给我的想法。虽然我没有使用FileTreeModel,但我正在使用自己的自定义模型,并且将按我的方式实施。再次感谢 – Ashish 2013-05-13 03:58:35