在 tornadofx 中将组合框的项目显示为自定义节点



当使用节点显示组合框的项目时,仅显示我选择的第一个项目。

val sspSelected = SimpleStringProperty()
val myItems = FXCollections.observableArrayList("Item 1", "Item 2","Item 3")
combobox<String>(sspSelected){
items = myItems
cellFormat {
graphic = cache{
label(it)
}
}
}
label(sspSelected)

未选择项目

选择的第一项

选择的第三个项目

您在未提供缓存键的情况下使用cache,因此单元格的图形节点是从它看到的第一个值计算的。只需提供一个唯一的 id,在本例中为字符串值作为缓存键:

graphic = cache(it) {
label(it)
}

最新更新