이 예제에서는 TreeView용 HBox와 단추, 레이블 등에 대한 VBox를 사용하고 있습니다. VBox는 오른쪽 창을 나타냅니다. 항목을 추가하고 제거하기 위한 버튼이 있습니다. TreeView 클래스는 JavaFX API의 javafx.scene.control 패키지에 정의되어 있습니다. 다음 예제에서는 Java SE 7 및 JavaFX 2.2를 사용합니다. ActionEvent 형식의 이벤트 처리기는 단추의 작업 이벤트 처리기로 사용됩니다. 인터페이스 EventHandler는 이 목적을 위해 구현됩니다. 단추의 처리기 속성은 button.setOnaction으로 설정 됩니다. 이 예제에서는 두 단추 모두 추가 및 제거에 대해 일반적입니다.

다음은 JavaFX TreeView 예제입니다. TreeView는 트리와 같은 구조의 계층 적 데이터를 표시하는 컨트롤입니다. TreeView의 각 항목은 TreeItem 클래스의 인스턴스입니다. 다음 예제에서는 다양한 종류의 차량을 통해 TreeView를 만들고 표시합니다. 이것은 javafx.scene.control.TreeView 이 TreeView 예제의 예는 편집 가능한 셀을 갖도록 향상되었습니다. 트리에서 항목을 추가 /제거하려는 사실을 감안할 때, 우리는 ChildrenModification-이벤트를 처리해야합니다. 다음 코드는 자식수정 이벤트를 처리하는 EventHandler의 예를 보여 주었습니다. onEditStart 이벤트는 셀이 편집 모드로 들어가면 발생합니다.

onEditCommit 이벤트는 사용자가 텍스트 필드에서 Enter 키를 눌러 편집을 성공적으로 커밋할 때 발생 합니다. TreeView 예제는 다른 트리항목-이벤트를 처리 하 여 향상 됩니다. TreeItem은 예를 들어 자식을 추가 하거나 제거하거나 확장 또는 축소하여 수정된 이벤트를 발생시 발생시합니다. 다음 예제는 분기를 사용 하 여 보강확장이벤트 및 분기CollapsedEvent. 두 이벤트 모두 TreeModificationEvent 클래스의 인스턴스입니다. treeView 개체에 호출 된 setCellFactory 메서드는 TreeCell 구현을 재정의 하 고 TextFieldTreeCellImpl 클래스에 지정 된 트리 항목을 재정의 합니다. 예제 13-1에 표시된 대로 새 TreeView 개체를 만들 때 TreeView 클래스의 생성자 내에서 트리의 루트를 지정하거나 TreeView 클래스의 setRoot 메서드를 호출하여 트리를 설정할 수 있습니다. TextFieldTreeCell은 편집 모드의 레이블과 편집 모드에서 텍스트 필드로 렌더링됩니다. 그것의 forTreeView() 정적 메서드는 셀 팩터리를 반환합니다. 루트 항목에 호출 된 setExpanded 메서드트리 뷰 항목의 초기 모양을 정의 합니다.

기본적으로 모든 TreeItem 인스턴스는 축소되며 필요한 경우 수동으로 확장해야 합니다. 그림 13-2와 같이 응용 프로그램이 시작될 때 루트 트리 항목이 확장되도록 설정에 true 값을 전달합니다. 예제 13-5를 컴파일하고 실행한 다음 소스 파일 보기 항목을 선택합니다. 그림 13-7에 표시된 출력이 표시되고 모든 하위 항목이 선택됩니다. 컨텍스트 메뉴에서 직원 추가 메뉴 항목을 선택하면 새 레코드가 현재 부서에 추가됩니다. 그림 13-6은 계정 부서에 추가된 새 트리 항목을 보여 주며, 트리 뷰에서 setEdItable(true) 메서드를 명시적으로 호출하여 모든 항목을 편집해야 합니다. 데이터는 TreeViewHelper 클래스를 사용하여 생성됩니다. 메서드 getProducts() 클래스 TreeItem의 ArrayList 및 트리(관계) 자체의 구조를 반환 합니다. 아이콘의 권장 크기는 16×16입니다. TreeView UI 컨트롤은 트리 구조를 표시하는 방법을 제공합니다. 트리에는 모든 계층 적 값을 포함하는 루트 노드가 있습니다.

루트 항목에 호출 된 setExpanded 메서드트리 뷰 항목의 초기 모양을 정의 합니다. 예제 13-2의 각 Employee 개체에는 이름과 부서라는 두 가지 속성이 있습니다. 직원에 해당하는 TreeItem 개체는 나무 나뭇잎이라고 하는 반면 부서에 해당하는 트리 항목은 자식이 있는 트리 항목이라고 합니다.