자바 tree 예제

모양과 느낌에 관계없이 노드에 의해 표시되는 기본 아이콘은 노드가 리프인지 여부와 확장 여부에 따라 결정됩니다. 예를 들어 Windows 및 Motif 모양 및 느낌 구현에서 각 리프 노드의 기본 아이콘은 점입니다. Java 모양과 느낌에서 기본 리프 아이콘은 종이모양의 기호입니다. 우리가 보여 준 모든 모양과 느낌 구현에서 분기 노드는 폴더와 같은 기호로 표시됩니다. 일부 모양과 느낌은 축소된 분기와 확장된 분기에 대해 서로 다른 아이콘을 가질 수 있습니다. 트리의 자식을 느리게 로드할 수 있는 방법 중 하나는 TreeWillExpandListener 인터페이스를 사용하는 것입니다. 예를 들어 다음 코드에 표시된 대로 트리의 루트, 조부모 및 부모를 선언하고 로드할 수 있습니다. 이 기사에서는 int 값을 포함하는 정렬된 이진 트리를 사용합니다. 이제 위의 이미지와 같이 트리에 노드를 추가하는 전체 예제를 살펴보겠습니다. Java 모양과 느낌을 사용하는 경우 트리 노드 간의 관계를 표시하도록 선을 그릴지 여부를 사용자 지정할 수 있습니다.

기본적으로 Java 모양과 느낌은 노드 간에 각진 선을 그립니다. 트리의 JTree.line스타일 클라이언트 속성을 설정하여 다른 규칙을 지정할 수 있습니다. 예를 들어 Java가 노드를 그룹화하기 위해 수평 선만 사용하도록 요청하려면 다음 코드를 사용합니다. 모델은 DefaultTreeModel의 하위 클래스가 아닌 개체 하위 클래스로 구현되므로 TreeModel 인터페이스를 직접 구현해야 합니다. 이를 위해서는 루트인 노드와 특정 노드의 자식과 같은 노드에 대한 정보를 얻기 위한 메서드를 구현해야 합니다. 계보 모델의 경우 각 노드는 TreeNode를 구현하지 않는 사용자 지정 클래스인 Person 형식의 개체로 표시됩니다. 트리: 선형 데이터 구조인 배열, 링크된 목록, 스택 및 큐와 달리 트리는 계층적 데이터 구조입니다. 각 노드에 해당 노드에 대한 참조가 있는 트리 데이터 구조를 만들었습니다. 노드에는 루트 노드에 도착하여 트리의 노드를 삭제하는 함수를 추가하는 것과 같은 다른 기능도 있을 수 있습니다.