JavaFx 场景构建器:CSS 未在 ubuntu 中加载,但在 Windows 中工作

JavaFx Scene builder : CSS is not loading in ubuntu but working on Windows

我正在努力在 Fxml 文件中添加 CSS 文件,如下所示。

<BorderPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="700.0" prefWidth="1200.0" stylesheets="@../../../resources/css/home.css" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.ctc.controller.SupplierUpdateController">

如您所见,我添加了 css,例如 stylesheets="@../../../resources/css/home.css"

这是通过在 windows 中使用场景生成器完成的,并且效果很好。 但是当我在 ubuntu 16.04 上创建 jar 和 运行 时,CSS 没有得到应用并且控制台中出现以下错误。

Oct 15, 2017 6:18:02 PM com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
INFO: Could not load stylesheet: rsrc:../../../resources/css/home.css

当我在 ubuntu 中的 eclipse 中 运行 应用程序时,它工作正常。但是对于创建的 ar,它没有使用 CSS 个文件。

当我没有将 FXML 文件本身放在资源文件夹中时,我曾经遇到过类似的问题。您路径中的资源条目表明您的 FXML 文件似乎也在资源文件夹之外。尝试以下结构:

resources/css/home.css
resources/your/package/yourlayout.fxml

然后在 yourlayout.fxml 中引用 "@../../css/home.css" 应该没问题了。