如何使用数据库(TornadoFX)中的信息更新自动完成组合框建议列表?

时间:2018-08-06 19:13:54

标签: combobox autocomplete tornadofx

我有一个自动完成组合框,该框运行良好,但在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)
    }
}
}

我错过了什么?谢谢。

1 个答案:

答案 0 :(得分:1)

您没有使用ObservableList。您正在更改包含列表的属性的内容。组合框从不知道treatmentList属性,因此无法对其进行观察。 尝试将treatmentList设为ObservableList<String>。然后,您可以在treatmentList.setAll(it)的{​​{1}}块中进行runAsync

ui