如何将LocalDate与Binding一起使用

时间:2018-04-18 12:13:43

标签: java javafx javafx-8

我的应用程序包含用户输入其姓名,电子邮件等的部分,但他们也可以添加日期(它没有初始值)

日期是DatePicker。

我所做的是添加一个绑定到"提交"按钮,以确保用户在按钮可用之前输入了所有信息,但是,我不知道如何绑定到LocalDate。

我尝试了这种方法(最后除了date.getValue()):

 public BooleanBinding isEitherFieldEmpty() { //This is for the "SUBMIT binding" to check if all text fields are empty
        return txtFirstName.textProperty().isEmpty().or(txtSurname.textProperty().isEmpty()).or
                (txtPNumber.textProperty().isEmpty()).or(txtEmail.textProperty().isEmpty()).or(date.getValue() == null);
    }

最后一部分:.or(date.getValue() == null);给了我一个错误,上面写着

The method or(ObservableBooleanValue) in the type BooleanExpression is not applicable for the arguments (boolean)

我想知道是否还有另一种方法将按钮绑定到LocalDate。

谢谢

1 个答案:

答案 0 :(得分:2)

假设dateDatePicker,您可以使用

date.valueProperty().isNull()

返回BooleanBinding。即:

public BooleanBinding isEitherFieldEmpty() { //This is for the "SUBMIT binding" to check if all text fields are empty
        return txtFirstName.textProperty().isEmpty()
        .or(txtSurname.textProperty().isEmpty())
        .or(txtPNumber.textProperty().isEmpty())
        .or(txtEmail.textProperty().isEmpty())
        .or(date.valueProperty().isNull());
}