나는 TornadoFX 라이브러리로 Kotlin에서 일하고 있습니다. 현재보기에 유용한 도구를 보여주는 툴바가 있다고 가정 해보십시오. 그래서 우리는 도구 모음 옆에 어떤보기의 컨트롤러 인 subController 속성을 가진 MainController를 가지고 있습니다. 따라서 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에서이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
도구는 options 속성이 Pane 인 사용자 지정 클래스입니다. 또한 subController 속성이 다시 할당되면 도구 모음이 업데이트됩니까? –
@SimonMarynissen 나는 TornadoFX에 익숙하지 않다. 그러나 이것은 불가능할 것이다. 자식들을 업데이트 할지라도'tools'리스트 만 전달하고,'subController'를 _old_'tools' 목록은 변경되지 않습니다. – Moira
subController에 observable을 추가하면이 문제를 해결할 수 있습니까? –