자바 개발을 위해 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와 유효성 검사를 효율적으로 구현할 수 있습니다.