Как изменить цвет фона в кнопке со стрелкой JavaFX ComboBox через css? - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь изменить цвет фона кнопки со стрелкой в ​​ComboBox.Использование JavaFX 8 со стандартной темой Modena.css, если это имеет значение.

Согласно документации (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html#combobox), Кнопка со стрелкой является панелью StackPane, поэтому я предполагаю, что будет работать следующее:

.combo-box .arrow-button {
    -fx-background-color: blue;
}

Это должно изменить фон на синий, но цвет все равно остался прежним.

Фон может быть изображением, поэтому я попытался добавить -fx-background-image: null;к вышесказанному, но это не похоже, что это работает.

Не уверен, что проблема сейчас.

ОБНОВЛЕНИЕ: НАЙДЕНО ПРОБЛЕМА!

Видимо, этопроблема с моим кодом CSS, имеющим следующее:

#arrow-button {
    -fx-padding: 5 0 5 0;
    -fx-font: 16 arial;
    -fx-font-weight: bold;
    -fx-background-color: 
        linear-gradient(#FFE4D1 0%, #EED5C2 25%, #EDD2BD 75%, #FFE4D1 100%),
        linear-gradient(#FFE1CC 0%, #FCE2CF 20%, #EDD0BB 80%, #FFE1CC 100%);
    -fx-border-color: #ED9D9C;
    -fx-background-radius: 5;
    -fx-border-radius: 5;
}

Очевидно, JavaFX берет мой селектор идентификаторов и использует его для отображения .combo-box .arrow-button.

Это, вероятно,ошибка, но не уверен. Спросит разработчиков JavaFX.

Спасибо за помощь!

1 Ответ

0 голосов
/ 07 февраля 2019

Можете ли вы попробовать это:

.combo-box .arrow, .combo-box .arrow-button, .combo-box .arrow-button .arrow {
    -fx-background-color: blue;
}

.combo-box-base .arrow, .combo-box-base .arrow-button, .combo-box-base .arrow-button .arrow {
    -fx-background-color: blue;
}

Один из них должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...