JavaFX ComboBox: исчезает выбранный элемент в выпадающем списке

Исчезает (визуально) выбранный элемент из выпадающего списка ComboBox.
Сам выпадающий список - ObservableArrayList(ArrayList<Label>).
Элементы выпадающего списка отображает Label при помощи setCellFactory.

for (int i = 0; i < 4; i++) {
    ComboBox<Label> comboBox = (ComboBox<Label>) scene.lookup(CHOICEBOX + i);
    switch (i) {
        case 0: comboBox.setItems(FXCollections.observableArrayList(Choices0)); break;
        case 1: comboBox.setItems(FXCollections.observableArrayList(Choices1)); break;
        case 2: comboBox.setItems(FXCollections.observableArrayList(Choices2)); break;
        case 3: comboBox.setItems(FXCollections.observableArrayList(Choices3)); break;
    }

    comboBox.setCellFactory(param -> new ListCell<Label>() {
        @Override
        protected void updateItem(Label lbl, boolean empty) {
            super.updateItem(lbl,empty);
            setGraphic(lbl);
        }
    });

    choiceBoxes.add(comboBox);
}

В данном случае choiceBoxes всего лишь ArrayList<ComboBox<Label>> и Choices это ArrayList<Label> соответственно.
Нужно, чтоб элементы выпадающего списка не пропадали визуально.

Изначально, после выбора элемента из списка выбранный элемент менял цвет текста Label на белый (понятия не имею почему).
Это я решил, сменив цвет текста на черный в установленный Font в Label.
Я попытался так же сделать с элементами выпадающего списка, но результата не дало.


Ответы (1 шт):

Автор решения: Drained

Поразмышляв , я пришел к такому решению:

Помещаем нужные Label В VBoxVBox в значение setVisible(false)) ,а дальше вешаем слушатель через EventHandler на ComboBox по нажатию лкм. После нажатия Лкм по ComboBox значение setVisible(true) . Дальше , на эти Label вешаем слушатель по нажатию которых СomboBox ставил значение полученное от Label.

Да, это костыль, зато рабочий. Предлагайте более лучшие решения.

→ Ссылка