Я использую библиотеку controlfx, особенно компонент уведомлений, однако стиль CSS по умолчанию совершенно не соответствует стилю моего приложения, поэтому я пытаюсь его изменить.
Я попытался использовать решение, представленное в этом сообщении color">Есть ли способ изменить цвет встроенного всплывающего уведомления controlfx?
So:
String css = this.getClass().getResource("notificationpopup.css").toExternalForm();
primaryStage.getScene().getStylesheets().add(css);
Notifications.create().owner(primaryStage).(...).show();
Файл CSS успешно загружается, ошибок с добавлением в таблицы стилей тоже нет, стиль уведомления остается, впрочем, тот же. Я попытался загрузить как весь файл, идентичный, за исключением моих изменений, тому, который используется в библиотеке, так и короткий файл css только с тем, что я хотел изменить.
Мой файл css изменяется, для справки:
.notification-pane .notification-bar > .pane {
-fx-background-color: linear-gradient(to top, #3e5151, #decba4);
-fx-padding: 0 7 0 7;
}
(сейчас я просто пытаюсь изменить фон на градиент по своему выбору)
Я также безуспешно пытался реализовать совет из вопросов, связанных с другими элементами controlfx, то есть добавить URL-адрес в таблицу стилей ПОСЛЕ вызова show.
(Я также пытался, просто чтобы проверить, грубо изменить css внутри jar библиотеки, но почему-то это тоже не сработало, так как css остался прежним, без каких-либо ошибок, хотя я модифицировал банку и добавил снова).
Поскольку предоставленное объяснение было очень скудным, я не понимаю, что здесь не так.
Также в моем решении я должен избегать вызова .owner() и назначения уведомления определенному этапу, поскольку тогда он отображается внутри этого этапа, а не на экране вне его. Может быть, это можно исправить, добавив таблицу стилей в какой-то другой элемент, а не в primaryStage? Но пока я не могу добиться каких-либо изменений css, даже ограничивая уведомление этапом.