答案 0 :(得分:1)
Tornadofx datepicker()
主要使用位于 javafx.scene.control.DatePicker.java 中的Java类DatePicker
。 DatePicker
源自ComboBoxBase<java.time.LocalDate>
因此该值始终是LocalDate
的类型。
要更改格式,有一个在类DatePicker
中定义的名为setConverter()
的方法,该方法采用类型为StringConverter<LocalDate>
的参数。这可以使用 javafx.util.converter.LocalDateStringConverter.java 中定义的LocalDateStringConverter()
方法来完成。它基本上需要两个参数来获得功能,并且都是DateTimeFormatter
的类型,第一个参数用于格式化,第二个参数用于解析。为了实现我的目标,我已经看到一个格式化程序足以获得所需的输出。
DateTimeFormatter
是在 java.time.format.DateTimeFormatter.java 中定义的类,该类是用于打印和解析日期时间对象的格式化程序。其中定义的ofPattern()
方法采用类似"dd-MM-yyyy"
的字符串模式,这是我在这里想要的。这样我们就可以val dateFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy")
现在,我们可以应用setConverter(LocalDateStringConverter(dateFormatter, dateFormatter))
,它是对“ java get set方法”的调用,或者我们可以使用{{1 }}。
给出了一个有效的代码段:
converter = LocalDateStringConverter(dateFormatter, dateFormatter)
输出快照: