如何格式化多个 SimpleObjectProperties<LocalDate> 并将其绑定到一个标签?

How To Format And Bind Multiple SimpleObjectProperties<LocalDate> To A Label?

我正在尝试创建一个日历视图,其中在一个标签上显示了带有开始和结束时间的事件。类似于:

2:30pm - 4:30pm

我的模型对每个时间都有一个 SimpleObjectProperty。我知道我可以通过做类似的事情来连接这些:

label(Bindings.concat(model.startTime, " - ", model.endTime))

但每次我仍然需要格式化。知道如何做到这一点肯定会帮助我将来进行其他同样复杂的绑定转换。或者每次 属性 更新标签文本时附加听众会更容易吗?

我想我找到了自己的答案,但任何人都可以随时告诉我这是否是好的做法。

root {
   ...
   val timeFormat = DateTimeFormatter.ofPattern("h:mma")
   label(stringBinding(model.startTime, model.endTime) {
               val startTime = model.startTime.value
               val endTime = model.endTime.value
               "${startTime.format(timeFormat)} - ${endTime.format(timeFormat)}"
           })
   ...
}