我在我的应用程序中实现了由200个节点组成的大纲视图。如何搜索并展开指定节点?
我也看了DefaultMutableTreeNode
的breadthFirstEnumeration()
和depthFirstEnumeration()
方法,但在Outline中没有找到等效的方法。
方法取决于用于构建OutlineModel
的TreeModel
。在引用的FileTreeModel
中,getRoot()
返回一个任意的File
,表示层次化文件系统中子树的根。这个子树可以递归地搜索,如下所示。不打印结果,而是将表示路径的File
实例累加到一个数组中。该数组将用于构造TreePath
。给定这样一个treePath
,您可以以类似于这里所示的方式显示相应的节点。
outline.expandPath(treePath);
outline.scrollRectToVisible(getPathBounds(treePath));