Kotlin 在TornadoFX中,如何将布局划分为不同的类,然后在builder中使用它们?
例如,我希望有一个TabPane,但我希望每个选项卡都位于其单独的类中。有没有办法和建筑商合作?我想这样做:Kotlin 在TornadoFX中,如何将布局划分为不同的类,然后在builder中使用它们?,kotlin,tornadofx,Kotlin,Tornadofx,例如,我希望有一个TabPane,但我希望每个选项卡都位于其单独的类中。有没有办法和建筑商合作?我想这样做: tabpane { MyFirstTab() MySecondTab() etc. } 通常,您可以使用add命令从另一个视图添加根节点: add(SomeView::class) 您还可以插入视图并添加它: val someView: SomeView by inject() override val root: borderpane { cent
tabpane {
MyFirstTab()
MySecondTab()
etc.
}
通常,您可以使用
add
命令从另一个视图添加根节点:
add(SomeView::class)
您还可以插入视图
并添加它:
val someView: SomeView by inject()
override val root: borderpane {
center {
add(someView)
}
}
add
与执行this+=someView
相同。这里发生的是框架找到视图的根节点
并将其附加到父节点的子节点
属性。它还知道一些特殊的容器,如边框窗格
,因此当您在中心
生成器等中添加内容时,它会做正确的事情
但是,选项卡窗格
会获取非节点的选项卡
实例。您需要使用选项卡
生成器添加选项卡,并为其分配一些内容。构建者非常聪明,他们知道如果您在选项卡中添加了add
,它应该分配给选项卡的content
属性。因此,你可以写:
tab("My First Tab") {
add(MyFirstTab::class)
}
或者,如果您已经有了要分配的内容的实例:
tab("My First Tab") {
add(myFirstTab)
}
MyFirstTab
类必须是视图
或片段