我正在使用 TornadoFX 库在 Kotlin 中工作。想象一下,您有一个工具栏,其中显示了对您拥有的当前视图有用的工具。所以我们有一个 MainController ,它有一个 subController 属性,它是工具栏旁边某个视图的控制器。因此,如果我们的 subController 发生变化,视图应该会更新。此外,如果 subController 的任何属性(例如 selectedTool、tools)发生更改,工具栏也应相应更新。暂时,工具栏没有更新。
class ToolBar : View("Tool bar") {
private val controller: MainController by inject()
override val root = vbox {
tilepane {
for (tool in controller.subController.tools) {
button(tool.name, group).action {
controller.subController.changeTool(tool) // changes selected tool
}
}
}
this += controller.subController.selectedTool.options
}
}
额外信息:subController.tools 是一个 ArrayList 并且 subController.selectedTool 是一个工具。
现在我的问题是,在 TornadoFX 中推荐的方法是什么?