JavaFX:使用自定义格式化程序将LocalDateProperty绑定到StringProperty

JavaFX:使用自定义格式化程序将LocalDateProperty绑定到StringProperty,java,date,binding,javafx,Java,Date,Binding,Javafx,我想将ObjectProperty绑定到TextField并根据当前区域设置或自定义格式化程序格式化日期 目前我使用 myTextfield.textProperty().bind(myObject.myDateProperty().asString()); 这将生成ISO 8601格式(YYYY-MM-DD)的字符串。如何获取例如DD.MM.YYYY?我建议使用另一种方法:直接使用文本字段而不是文本字段 然后,如果默认格式不符合您的需要,您可以使用。好的,找到了一个简单的解决方案(使用Bin

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

目前我使用

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

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

我建议使用另一种方法:直接使用文本字段而不是文本字段


然后,如果默认格式不符合您的需要,您可以使用。

好的,找到了一个简单的解决方案(使用
Bindings.createStringBinding
):


您必须使用SimpleDateFormat。@EthylCasin SimpleDateFormat不适用于Java SE 8中引入的新日期和时间API。我只是想要一个简单的视图绑定(无需编辑/日期选取),因此日期选取器对我来说似乎有点重要。但是-这是一种可能的解决方案。@user4919196您应该能够使日期选择器不可编辑。
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd.MM.yyyy");
myTextfield.textProperty().bind(Bindings.createStringBinding(() ->
    dtf.format(myObject.myDateProperty().get()), myObject.myDateProperty())
);