【发布时间】:2017-12-15 05:54:19
【问题描述】:
所以我得到了一个包含 Lines 的 ViewModel(即具有 x 和 y 双属性的 2 个点对象)。我想把它绑定到一些画布或类似的东西上。此外,可能是行不是增量添加到 ViewModel 中的,而是一次性添加的(例如,在加载包含大量行数据的外部文件时)。
您如何使用 TornadoFX 解决这个问题?此外,即使有大量的行数据,如何使其顺利运行。 gui builder可以吗?
【问题讨论】:
所以我得到了一个包含 Lines 的 ViewModel(即具有 x 和 y 双属性的 2 个点对象)。我想把它绑定到一些画布或类似的东西上。此外,可能是行不是增量添加到 ViewModel 中的,而是一次性添加的(例如,在加载包含大量行数据的外部文件时)。
您如何使用 TornadoFX 解决这个问题?此外,即使有大量的行数据,如何使其顺利运行。 gui builder可以吗?
【问题讨论】:
一个简单的 bindChildren 修复它:
stackpane {
group {
bindChildren(model.segments) { segment ->
line(segment.first.x, segment.first.y, segment.second.x, segment.second.y)
}
}
}
在模型中,段的声明:
val segments: ObservableList<Segment> = FXCollections.observableArrayList<Segment>()
【讨论】: