JavaFX/CSS: изменение цвета текста выбранного объекта ComboBox

78
10

Я использую специальную библиотеку JavaFX под названием JFoenix, которая перенастраивает некоторые компоненты JavaFX с помощью Google Material Design. Проблема, с которой я столкнулся, заключается в изменении цвета текста выбранного элемента ComboBox of Strings после его выбора. Это мой до экрана, с предметом, о котором идет речь.

При выборе элемента из ComboBox текст становится серым и черным (см. Скриншот здесь). Я хочу, чтобы текст из выбранного элемента был того же цвета, что и остальные ярлыки. Добавление -fx-text-fill или -fx-text-inner-color в Scene Builder не работает.

Единственное возможное решение, которое я нашел, - сделать ComboBox доступным для редактирования и установить цвет через его Редактор после того, как пользователь выберет опцию:

@FXML
private void handleComboBoxFormat() {
this.mpaaBox.getEditor().setStyle("-fx-text-fill: #eceff1;" + "-fx-background-color: #445566");
}

Мне не нравится это решение, потому что я не хочу, чтобы ComboBox был доступен для редактирования, и он просто чувствует себя грязным. Есть ли другой способ редактировать цвет текста? Спасибо!

спросил(а) 2017-06-22T02:53:00+03:00 3 года назад
1
Решение
56

-fx-text-fill не -fx-text-fill в поле со списком.

Но, читая Справочное руководство по CSS, я вижу структуру:

.combo-box > .list-view > .list-cell

где .list-cell определяет -fx-text-fill унаследованный от Labeled.

ответил(а) 2017-06-22T07:48:00+03:00 3 года назад
54

Хорошо, поэтому, после того, как я начал использовать CSS, предложенный @MouseEvent, я понял решение.

.combo-box.list-view.list-cell влияет на элементы в списке ComboBox при открытии всплывающего окна.

.combo-box.list-cell влияет на метку выбранного элемента, и это то, к чему у меня возникли проблемы с доступом.

ответил(а) 2017-06-22T19:40:00+03:00 3 года назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема