012 노드를 구성하는 응용 프로그램에 outline view을 구현했습니다. 특정 노드를 검색하고 확장하려면 어떻게합니까?스윙의 개요보기에서 노드를 검색하는 방법
또한 breadthFirstEnumeration()
및 depthFirstEnumeration()
방법을 DefaultMutableTreeNode
으로 보았지만 개요에서 동일한 방법을 찾을 수 없습니다.
012 노드를 구성하는 응용 프로그램에 outline view을 구현했습니다. 특정 노드를 검색하고 확장하려면 어떻게합니까?스윙의 개요보기에서 노드를 검색하는 방법
또한 breadthFirstEnumeration()
및 depthFirstEnumeration()
방법을 DefaultMutableTreeNode
으로 보았지만 개요에서 동일한 방법을 찾을 수 없습니다.
접근 방식은 OutlineModel
을 구성하는 데 사용 된 TreeModel
에 따라 다릅니다. FileTreeModel
에서 인용 된 getRoot()
은 계층 적 파일 시스템에서 하위 트리의 루트를 나타내는 임의의 File
을 반환합니다. 이 하위 트리는 here과 같이 재귀 적으로 검색 할 수 있습니다. 결과를 인쇄하는 대신 배열에 경로를 나타내는 File
인스턴스를 축적합니다. 이 배열은 TreePath
을 구성하는 데 사용됩니다. 그러한 treePath
이 주어지면 here과 비슷한 방식으로 해당 노드를 나타낼 수 있습니다.
outline.expandPath(treePath);
outline.scrollRectToVisible(getPathBounds(treePath));
저에게 아이디어를 제공해 주셔서 감사합니다. FileTreeModel을 사용하고 있지는 않지만 내 자신 만의 사용자 정의 모델을 사용하고 있으며이를 구현할 것입니다. 다시 한 번 감사드립니다. – Ashish