Есть ли способ изменить цвет всплывающего уведомления встроенного controlfx?

[Edit] вот пример использования всплывающего уведомления, о котором я говорю:

Notifications.create().title(...).text(...).hideAfter(Duration).show();

в этом случае всплывающее окно уведомлений соответствует стилю модены (немного серого)

если мы добавим темный стиль, как это:

Notifications.create().darkStyle().title(...).text(...).hideAfter(Duration).show();

Это показано темным цветом

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

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

2 ответа

Решение

Посмотрите документацию: https://controlsfx.bitbucket.io/org/controlsfx/control/NotificationPane.html

Вы можете взглянуть на CSS-файл для панели уведомлений здесь: /org/controlsfx/control/notificationpane.css

Теперь вы можете использовать классы CSS в вашей собственной таблице стилей.

Вот как я это сделал:

  • Я добавил новый css-файл с именем tificationpopup.css, о котором говорил Фил (спасибо ему)

  • внутри этого файла я внес изменения я добавил файл css в файл primaryStage

  • на этом этапе установите владельца моего всплывающего уведомления, и теперь оно работает хорошо!

String css = this.getClass().getResource("/views/notificationpopup.css").toExternalForm();
//as my css are in a views package

primaryStage.getScene().getStylesheets().add(css);
Notifications.create().owner(primaryStage).text("my message").hideAfter(new Duration(2000)).showInformation();

Если вы хотите, чтобы пример messagespopup.css сделал ваш собственный визит в репозиторий controlfx

Спасибо Phil и сообществу за помощь

Другие вопросы по тегам