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

时间:2018-10-18 15:01:41

标签: kotlin combobox 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)

No selected item

First item selected

Third item selected

1 个答案:

答案 0 :(得分:1)

您在使用cache时未提供高速缓存键,因此该单元格的图形节点是根据其看到的第一个值来计算的。只需提供唯一的ID,在这种情况下,将字符串值作为缓存键即可:

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