Показывать элементы комбобокса как пользовательский узел в tornadofx - PullRequest
0 голосов
/ 18 октября 2018

При использовании узла для отображения элементов в выпадающем списке отображается только первый элемент, который я выбрал.

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)

Нет выбранного элемента

Первый выбранный элемент

Выбран третий элемент

1 Ответ

0 голосов
/ 19 октября 2018

Вы используете cache без указания ключа кэша, поэтому графический узел для ячейки вычисляется из первого значения, которое он видит.Просто укажите уникальный идентификатор, в данном случае строковое значение в качестве ключа кэша:

graphic = cache(it) {
    label(it)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...