[java] JavaFX 테이블 뷰와 트리 뷰 사용하기
개요
JavaFX는 Java 언어를 기반으로 한 GUI(그래픽 사용자 인터페이스) 개발 플랫폼입니다. 테이블 뷰와 트리 뷰는 JavaFX에서 데이터를 표시하는데 주로 사용되는 컨트롤입니다. 이 블로그 포스트에서는 JavaFX의 테이블 뷰와 트리 뷰를 사용하는 방법에 대해 다루겠습니다.
테이블 뷰 사용하기
테이블 뷰는 표 형식으로 데이터를 표시하는데 사용됩니다. 다음은 JavaFX에서 테이블 뷰를 사용하는 예제 코드입니다.
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class TableViewExample extends Application {
@Override
public void start(Stage primaryStage) {
TableView<Person> tableView = new TableView<>();
TableColumn<Person, String> firstNameColumn = new TableColumn<>("First Name");
firstNameColumn.setCellValueFactory(new PropertyValueFactory<>("firstName"));
TableColumn<Person, String> lastNameColumn = new TableColumn<>("Last Name");
lastNameColumn.setCellValueFactory(new PropertyValueFactory<>("lastName"));
tableView.getColumns().addAll(firstNameColumn, lastNameColumn);
ObservableList<Person> data = FXCollections.observableArrayList(
new Person("John", "Doe"),
new Person("Jane", "Smith"),
new Person("Mike", "Johnson")
);
tableView.setItems(data);
VBox vbox = new VBox(tableView);
Scene scene = new Scene(vbox, 400, 300);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
public class Person {
private String firstName;
private String lastName;
public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
}
}
위 코드는 간단한 테이블 뷰를 생성하고, “First Name”과 “Last Name” 두 개의 열을 생성하여 데이터를 표시합니다. 테이블 뷰에 데이터는 ObservableList
에 담아 설정하면 됩니다.
트리 뷰 사용하기
트리 뷰는 계층 구조로 데이터를 표시하는 컨트롤입니다. 이는 주로 파일 탐색기와 같은 디렉토리 및 파일 구조를 표현하는 데 사용됩니다. 다음은 JavaFX에서 트리 뷰를 사용하는 예제 코드입니다.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class TreeViewExample extends Application {
@Override
public void start(Stage primaryStage) {
TreeItem<String> rootItem = new TreeItem<>("Root");
TreeItem<String> item1 = new TreeItem<>("Item 1");
TreeItem<String> item2 = new TreeItem<>("Item 2");
TreeItem<String> item3 = new TreeItem<>("Item 3");
rootItem.getChildren().addAll(item1, item2, item3);
TreeView<String> treeView = new TreeView<>(rootItem);
VBox vbox = new VBox(treeView);
Scene scene = new Scene(vbox, 400, 300);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
위 코드는 “Root”라는 루트 아이템과 세 개의 자식 아이템을 가지는 트리 뷰를 생성합니다. 각 아이템은 트리 아래에 추가될 수 있는 계층 구조를 가지며, 계층 구조는 TreeItem
을 사용하여 구현됩니다.
결론
JavaFX에서 테이블 뷰와 트리 뷰는 데이터를 GUI에 표시하는데 유용한 도구입니다. 이 블로그 포스트에서는 간단한 예제 코드를 통해 JavaFX 테이블 뷰와 트리 뷰를 소개하였습니다. JavaFX의 다양한 기능 및 활용 방법에는 더 많은 학습이 필요하지만, 이를 통해 데이터를 시각적으로 표현하는 기본적인 개념을 이해할 수 있습니다.