如何在JavaFX中将LocalDate双向绑定到文本字段
我正在尝试将DTO上的如何在JavaFX中将LocalDate双向绑定到文本字段,date,binding,javafx-8,Date,Binding,Javafx 8,我正在尝试将DTO上的ObjectProperty绑定到TextField上,但很难使其正常工作 我是这样设置的: dateOfBirthTextField.setTextFormatter(new TextFormatter<>(new LocalDateEnhancedStringConverter())); person.birthdayProperty().bindBidirectional(dateOfBirthTextField.textProperty(), new
ObjectProperty
绑定到TextField
上,但很难使其正常工作
我是这样设置的:
dateOfBirthTextField.setTextFormatter(new TextFormatter<>(new LocalDateEnhancedStringConverter()));
person.birthdayProperty().bindBidirectional(dateOfBirthTextField.textProperty(), new LocalDateEnhancedStringConverter());
dateOfBirthTextField.setTextFormatter(新的TextFormatter(新的LocalDateEnhancedStringConverter());
person.birthdayProperty().BindBirthTextField.textProperty(),新的LocalDateEnhancedStringConverter());
但这给了我以下编译错误:
类型ObjectProperty中的方法BindBidirective(Property)不适用于参数(StringProperty、LocalDateEnhancedStringConverter)
不太确定下一步要尝试什么?我建议改用a。然后可以根据JavaDoc绑定。:
public(属性其他,StringConverter转换器)
在此StringProperty
和另一个任意属性之间创建双向绑定。
参数:
其他
-其他属性
converter
-用于在此StringProperty和其他属性之间转换的StringConverter
(粗体是我的)
因此,您应该按照相反的顺序进行绑定,将来自textfield的StringProperty
绑定到“other”属性,即生日属性:
dateOfBirthTextField.textProperty()
.bindBidirectional(
person.birthdayProperty(),
new LocalDateEnhancedStringConverter());
不幸的是,我的用户不需要日期选择器,所以我只能使用这个用例。