我想将ObjectProperty<LocalDate>
绑定到TextField
,并根据当前区域设置或自定义格式化程序格式化日期。
目前我使用
myTextfield.textProperty().bind(myObject.myDateProperty().asString());
这将生成ISO 8601格式的字符串(YYYY-MM-DD)。如何获得,例如DD.MM.YYYY?
答案 0 :(得分:7)
好的,找到了一个简单的解决方案(使用Bindings.createStringBinding
):
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd.MM.yyyy");
myTextfield.textProperty().bind(Bindings.createStringBinding(() ->
dtf.format(myObject.myDateProperty().get()), myObject.myDateProperty())
);
答案 1 :(得分:0)
我建议采用不同的方法:直接使用DatePicker而不是TextField。
如果默认格式不符合您的需要,您可以使用converter property。