在 TornadoFX 中重用元素
Reuse elements in TornadoFX
如何使组件在 TornadoFX 中可重用?让我们假设我有这样定义的表视图:
tableview<MyObj>(items) {
column("name", MyObj::name)
column("value", MyObj::value)
}
我能否以某种方式包装它以在其他视图中重复使用相同的列?像
一样使用它
mytableview(items)
这样我就不会重复任何列。
创建一个工厂函数!
fun EventTarget.myobjtable(items: ObservableList<MyObj>, op: TableView<MyObj>.() -> Unit = {}) =
tableview(items) {
column("name", MyObj::name)
column("value", MyObj::value)
op()
}
这应该与调用原始 tableview
函数一样工作,只是已经添加了列。
如何使组件在 TornadoFX 中可重用?让我们假设我有这样定义的表视图:
tableview<MyObj>(items) {
column("name", MyObj::name)
column("value", MyObj::value)
}
我能否以某种方式包装它以在其他视图中重复使用相同的列?像
一样使用它mytableview(items)
这样我就不会重复任何列。
创建一个工厂函数!
fun EventTarget.myobjtable(items: ObservableList<MyObj>, op: TableView<MyObj>.() -> Unit = {}) =
tableview(items) {
column("name", MyObj::name)
column("value", MyObj::value)
op()
}
这应该与调用原始 tableview
函数一样工作,只是已经添加了列。