我有一个自动完成组合框,该框运行良好,但在runAsync
操作完成后,建议列表没有更新。
import javafx.beans.property.SimpleObjectProperty
import javafx.collections.ObservableList
import tornadofx.*
class TestBox : View("My View") {
var treatment = SimpleObjectProperty<String>()
var treatmentList = SimpleObjectProperty<ObservableList<String>>()
override val root = borderpane {
center {
form {
fieldset {
field("Fruit") {
combobox(treatment, treatmentList.value) {
makeAutocompletable()
}
}
}
}
}
}
init {
runAsync {
listOf("Rice", "beans", "Yams").observable()
} ui {
treatmentList.set(it)
}
}
}
我错过了什么?谢谢。
答案 0 :(得分:1)
您没有使用ObservableList
。您正在更改包含列表的属性的内容。组合框从不知道treatmentList
属性,因此无法对其进行观察。
尝试将treatmentList
设为ObservableList<String>
。然后,您可以在treatmentList.setAll(it)
的{{1}}块中进行runAsync
。
ui