JavaFX | 주요 컨트롤러 이용 | 체크박스(Checkbox)

JavaFX에는 많은 GUI 컨트롤 포함되어 있다. 그것들을 이용하여 일반적인 GUI를 간단히 만들 수 있다. 이러한 기본적인 GUI 컨트롤에 대한 간단한 사용법을 정리해 보겠다.

우선 체크 박스부터 설명하겠다. 이것은 javafx.scene.control 패키지에 “Checkbox"클래스로 되어 있다. 이것은 다음과 같이 인스턴스를 생성한다.

new Checkbox()
new Checkbox("표시 텍스트")

인수에 텍스트를 설정하면, 그 텍스트가 체크 박스 옆에 표시된다. 이 표시 텍스트는 Button 등과 동일하게 “setText"에서 설정할 수 있다. 또한 체크 상태는 다음과 같이 사용할 수 있다.

체크 상태를 얻는다.

boolean 변수 = checkbox.isSelected();

체크 상태를 변경한다.

checkbox.setSelected(boolean);

Checkbox에는 액션 이벤트가 지정될 수 있도록 되어 있다. 체크 박스를 클릭하는 등의 선택 상태가 변경되면, 액션 이벤트가 발생한다. 이 액션 이벤트의 처리는 Button 등과 같이 “setOnAction"메소드로 설정할 수 있다.

checkbox.setOnAction((ActionEvent) -> {
    // 수행 할 작업
});

람다 식을 이용한다면 이렇게 작성하면 된다. 이것로 체크 상태가 변경되었을 때의 처리를 실행시킬 수 ㅣ있다.

아래와 같이 CheckBox에 대한 간단한 사용 예제가 있다.

package com.dekuma.javafx;
 
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
 
public class App extends Application {
    Label label;
    CheckBox check;
 
    public static void main(String[] args) {
        launch(args);
    }
 
    @Override
    public void start(Stage stage) throws Exception {
        label = new Label("This is JavaFX!");
        check = new CheckBox("체크박스");
        check.setSelected(true);
        check.setOnAction((ActionEvent)->{
            label.setText(check.isSelected() ? "Selected!" : "not selected...");
        });
         
        BorderPane pane = new BorderPane();
        pane.setTop(label);
        pane.setCenter(check);
        Scene scene = new Scene(pane, 320, 120);
        stage.setScene(scene);
        stage.show();
    }
 
}

실행하면 체크 박스가 하나 나타나고 이것을 클릭하면 라벨에 “Selected!”, “not selected …“라고 표시가 된다.