[java] JavaFX 데이터 유효성 검사

자바 개발을 위해 JavaFX를 사용하는 경우, 사용자로부터 입력받은 데이터의 유효성을 검사해야 하는 경우가 많습니다. 예를 들어, 사용자로부터 숫자를 입력받는 경우에는 입력값이 숫자인지 확인해야 할 수도 있습니다. 이 글에서는 JavaFX에서 데이터의 유효성을 검사하는 방법에 대해 알아보겠습니다.

숫자 유효성 검사

사용자로부터 숫자를 입력받아야 하는 경우, 입력값이 숫자인지를 확인하는 유효성 검사를 수행해야 합니다. JavaFX에서는 TextField 컨트롤을 사용하여 사용자로부터 값을 입력받을 수 있습니다. 아래는 TextField에서 입력된 값이 숫자인지를 확인하는 메소드의 예입니다.

import javafx.scene.control.TextField;

public class NumberValidator {
    public static boolean isNumber(TextField textField) {
        String input = textField.getText();
        try {
            double number = Double.parseDouble(input);
            return true;
        } catch (NumberFormatException e) {
            return false;
        }
    }
}

위 예제에서는 TextField의 getText() 메소드를 사용하여 입력된 값의 문자열을 가져온 뒤, Double.parseDouble() 메소드를 사용하여 문자열을 숫자로 변환합니다. 변환에 실패하면 NumberFormatException이 발생하고, 이 경우에는 입력값이 숫자가 아니라고 간주합니다.

이제 실제로 유효성 검사를 수행해보겠습니다. 예를 들어, 사용자로부터 숫자를 입력받아야 하는 UI 코드가 있다고 가정합니다.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class NumberValidationApp extends Application {
    @Override
    public void start(Stage primaryStage) {
        TextField textField = new TextField();
        Button button = new Button("확인");
        button.setOnAction(event -> {
            if (NumberValidator.isNumber(textField)) {
                System.out.println("입력된 값은 숫자입니다.");
            } else {
                System.out.println("입력된 값은 숫자가 아닙니다.");
            }
        });

        VBox root = new VBox(textField, button);
        Scene scene = new Scene(root, 200, 100);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

위 예제에서는 TextField와 Button을 사용하여 UI를 구성한 뒤, 버튼을 클릭했을 때 NumberValidator.isNumber() 메소드를 호출하여 유효성 검사를 수행합니다. 유효성 검사 결과에 따라 적절한 메시지를 출력합니다.

마무리

JavaFX에서 데이터의 유효성을 검사하는 방법을 살펴보았습니다. 숫자를 입력받아야 하는 경우를 예로 들었지만, 문자열이나 날짜 등 다른 유형의 데이터도 검사할 수 있습니다. 자바 개발시에는 사용자로부터 입력받는 데이터의 유효성 검사는 항상 고려해야 할 사항입니다. JavaFX를 사용하면 UI와 유효성 검사를 효율적으로 구현할 수 있습니다.

참고 자료