JavaFX:使用自定义Formatter将LocalDateProperty绑定到StringProperty

时间:2015-05-20 07:29:06

标签: java date binding javafx

我想将ObjectProperty<LocalDate>绑定到TextField,并根据当前区域设置或自定义格式化程序格式化日期。

目前我使用

myTextfield.textProperty().bind(myObject.myDateProperty().asString());

这将生成ISO 8601格式的字符串(YYYY-MM-DD)。如何获得,例如DD.MM.YYYY?

2 个答案:

答案 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

相关问题