我正在使用 controlsfx 库,尤其是它的通知组件,但是它的默认 CSS 样式根本不适合我的应用程序样式,所以我正在尝试更改它。
我尝试使用这篇文章中提供的解决方案 有没有办法改变内置的 controlfx 通知弹出颜色?
所以:
String css = this.getClass().getResource("notificationpopup.css").toExternalForm();
primaryStage.getScene().getStylesheets().add(css);
Notifications.create().owner(primaryStage).(...).show();
CSS 文件已成功加载,将其添加到 styleSheets 也没有错误,但通知的样式保持不变。我尝试将除了我的更改之外的整个文件都加载到库中使用的文件和仅包含我想要更改的短 css 文件
我的css文件更改,供参考:
.notification-pane .notification-bar > .pane {
-fx-background-color: linear-gradient(to top, #3e5151, #decba4);
-fx-padding: 0 7 0 7;
}
(现在我只是想将背景更改为我选择的渐变)
我还尝试实施与其他 controlfx 元素相关的问题的建议,但未成功,即在调用 show 后将 url 添加到 styleSheeT。
(我也尝试过,只是为了检查一下,粗暴地更改库 jar 中的 css,但不知何故,这也失败了,因为 css 保持不变,没有任何错误,即使我已经修改了 jar 并添加了再次)。
由于提供的解释非常稀缺,我不知道这里出了什么问题。
同样在我的解决方案中,我必须避免调用 .owner() 并将通知分配给特定阶段,因为那时它会显示在该阶段内,而不是在其外部的屏幕上。也许可以通过将样式表添加到其他元素而不是primaryStage来解决?但是现在,即使将通知限制在一个阶段,我也无法实现任何 CSS 更改