[java] JavaFX 리스트뷰와 콤보박스 구현하기

JavaFX는 Java 기반의 GUI 프레임워크로, 사용자 인터페이스(UI)를 구현할 때 유용하게 사용됩니다. 이번 글에서는 JavaFX의 리스트뷰(ListView)와 콤보박스(ComboBox)를 구현하는 방법에 대해 알아보겠습니다.

리스트뷰(ListView) 구현하기

리스트뷰는 여러 항목을 보여주는 UI 컨트롤입니다. 예를 들어, 특정 목록을 나타내거나 파일 목록을 표시하는 데 사용할 수 있습니다. 아래는 리스트뷰를 구현하는 간단한 예제 코드입니다.

ListView<String> listView = new ListView<>();

// 리스트뷰에 아이템 추가
listView.getItems().addAll("항목 1", "항목 2", "항목 3");

// 리스트뷰의 선택 모드 설정
listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

// 리스트뷰의 선택 변경 이벤트 처리
listView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
    System.out.println("선택된 항목: " + newValue);
});

// 리스트뷰를 화면에 추가
root.getChildren().add(listView);

위 예제 코드에서는 ListView<String>을 생성하고, getItems() 메서드를 사용하여 아이템을 추가하고 선택 모드를 설정합니다. 또한, selectedItemProperty() 메서드와 리스너를 등록하여 항목 선택 시 이벤트를 처리할 수 있습니다.

콤보박스(ComboBox) 구현하기

콤보박스는 사용자가 아이템을 선택할 수 있는 드롭다운 목록을 제공하는 UI 컨트롤입니다. 콤보박스는 선택 옵션을 제공하거나 필터링된 목록을 표시할 때 자주 사용됩니다. 아래는 콤보박스를 구현하는 예제 코드입니다.

ComboBox<String> comboBox = new ComboBox<>();

// 콤보박스에 아이템 추가
comboBox.getItems().addAll("옵션 1", "옵션 2", "옵션 3");

// 콤보박스의 선택 변경 이벤트 처리
comboBox.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
    System.out.println("선택된 옵션: " + newValue);
});

// 콤보박스를 화면에 추가
root.getChildren().add(comboBox);

위 예제 코드에서는 ComboBox<String>을 생성하고, getItems() 메서드를 사용하여 아이템을 추가합니다. 선택된 아이템은 selectedItemProperty() 메서드와 리스너를 통해 처리할 수 있습니다.

결론

이번 글에서는 JavaFX의 리스트뷰와 콤보박스를 구현하는 방법에 대해 알아보았습니다. 리스트뷰는 여러 항목을 보여주고 선택할 수 있는 UI 컨트롤이고, 콤보박스는 드롭다운 목록을 제공하는 UI 컨트롤입니다. JavaFX의 다양한 컨트롤을 활용하여 사용자 인터페이스를 보다 효과적으로 구현할 수 있습니다.

참고 문서

영어 원문

Implementing ListView and ComboBox in JavaFX