从 ViewModel TornadoFX 绘制线条

Drawing lines from ViewModel TornadoFX

所以我得到了一个包含 Lines 的 ViewModel(即 2 个点对象,它们都有一个 x 和 y double 属性)。我想将它绑定到一些 canvas 或类似的东西。此外,可能行不是增量添加到 ViewModel,而是一次全部添加(例如,加载包含大量行数据的外部文件时)。

你如何用 TornadoFX 解决这个问题?而且,如何在行数据很多的情况下也能顺利运行。可以使用 gui 构建器吗?

一个简单的 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>()