[英]Change TextArea Text When String Variable Changes TornadoFX
我有一個帶有字符串變量的控制器,我希望 TextArea 的文本值在控制器的字符串變量更改時更改。
class MyView: View() {
...
button("Run Test").action {
runAsync {
for(test in testList){
controller.updateText = "running" + test.name
run(test)
}
}
}
...
scriptRanArea = textarea {
text = controller.updateText
}
...
}
這是我知道如何完成此操作的最快方法,但我真的不知道您要使用哪種設計模式:
class MyView: View() {
val controller: MyController by inject()
override val root = vbox {
textarea(controller.myTextProperty)
}
}
class MyController: Controller() {
val myTextProperty = SimpleStringProperty()
}
當第一次引用時,inject 方法會自動在 TornadoFX 范圍內找到控制器,或者如果沒有找到則創建一個。 TornadoFX 文本區域構建器函數將字符串屬性從控制器綁定到 TextArea,當它作為參數傳入時。 但是請記住,在文本區域中書寫現在將自動更改控制器屬性中的值,反之亦然。 如果您不想要該功能,則必須更新您的問題以更具體地滿足您的需求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.