したがって、次の形式で N 行が必要な場合がありますLabel TextView/Checkbox。おそらく、これらの 2 つ以上のビューが必要になるので、TornadoFx であるすべてのものをサポートできるようにしたいと考えていますView。
TornadoFx を返す 1 つのメソッドを持つインターフェイスを作成しましたView。次のようになります。
interface ValueContainer {
fun getView() : View
}
実装の 1 つは次のようになります。
class BooleanValueContainer(val checked: Boolean) : ValueContainer {
val valueProperty = SimpleBooleanProperty(checked)
override fun getView(): View {
return (object : View() {
override val root = checkbox {
bind(valueProperty)
}
})
}
}
今、ブロック内で使用しようとするとinit、レイアウトに表示されません。rootとはGridPane、名前と実装へのparameters参照を持つオブジェクトのリストです(または、私が示していない他のもの):ValueContainerBooleanValueContainer
init {
with(root) {
parameters.map {
row(it.name) {
it.parameterContainer.getView()
}
}
}
}
私はかなり長い間ここで立ち往生しており、見つけることができるものはすべて試しましたが、呼び出しの代わりに配置textviewまたはcheckboxブロックする以外は実際には何も機能しませんでした.getView()ビューと私はそれを望んでいません。