[英]How to compare 2 Field Text with each other in Javafx
我在BankAccount类中有2个字段文本,其中1个用于存款,1个用于提取。
这两个字段文本仅采用双精度值:
TextField depositInput = new TextField();
TextField withdrawInput = new TextField();
和一个按钮来执行这些字段文本(可以是两个)。
Button button = new Button("Execute");
问题是我不知道如何告诉Java已执行哪个TextField。 由于我想在用户想要存入或提取时显示不同的消息:
例如:
if(FieldText executed is deposit){
println("User deposits X amount");
double depositAmount = X;
}
if(FieldText executed is withdraw){
println("User withdraws X amount");
double withdrawAmount = -X;
}
我努力了:
if(FieldText == depositInput){
}
但是Java向我显示了一个错误。
如果我的问题正确,最简单的解决方案是仅在按下按钮时检查文本字段的值是否为空:
TextField depositInput = new TextField();
TextField withdrawInput = new TextField();
Button button = new Button("Execute");
button.setOnAction((event) -> {
if (!depositInput.getText().isEmpty() && !withdrawInput.getText().isEmpty()) {
System.out.println("Deposit&Withdrawal");
} else if (!depositInput.getText().isEmpty()) {
System.out.println("Deposit");
} else if (!withdrawInput.getText().isEmpty()) {
System.out.println("Withdrawal");
}
});
如果您正在使用JavaFX和场景构建器
@FXML
private PasswordField PASSWORD;
@FXML
private PasswordField REPASSWORD;
void validateFields(ActionEvent event) {
if (PASSWORD.getText() == null ? REPASSWORD.getText() != null : !PASSWORD.getText().equals(REPASSWORD.getText()) ){
Alert alert = new Alert(Alert.AlertType.WARNING);
alert.setTitle("Warning");
alert.setHeaderText("PASSWORD ERROR");
alert.setContentText("CHECK YOUR PASSWORDS . "
+ "\nPlease try again.");
alert.showAndWait();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.