[英]Invoke Function When Item in ComboBox is Selected TornadoFX
我如何在tornadofx中設置一個組合框,以便在從下拉菜單中選擇一個項目時調用該函數,並將所選項目的文本作為參數傳遞給該函數。
例如,如果我有一個包含城市名稱的數組,並且這些名稱被設置為組合框中的項目:
val cities = FXCollections.observableArrayList("Dallas", "New York", "Sacramento")
combobox<String>
{
items = cities
//when item is selected from list perform some function on the name of the city selected
}
例如,當單擊其中一項將城市名稱打印到控制台時,如何調用一個函數?
您可以將onChange
偵聽器添加到ComboBox
的itemProperty
,也可以將ComboBox綁定到外部屬性,然后偵聽對該屬性的更改。 這是帶有表單的完整示例視圖:
class MyView : View() {
val cities = FXCollections.observableArrayList("Dallas", "New York", "Sacramento")
val selectedCity = SimpleStringProperty()
override val root = form {
fieldset {
field("City") {
combobox(selectedCity, cities)
}
}
}
init {
selectedCity.onChange {
println("City changed to: $it")
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.