2013-05-13 74 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