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



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

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)}"
})
...
}

最新更新