JavaFx场景构建器:CSS未在ubuntu中加载,但在Windows上运行

时间:2017-10-15 13:03:58

标签: css ubuntu javafx javafx-2 scenebuilder

我正在努力在下面的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">

正如您所看到的,我添加了stylesheets="@../../../resources/css/home.css"

之类的CSS

这是通过在Windows中使用场景构建器完成的,并且工作正常。 但是当我创建jar并在ubuntu 16.04上运行时,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中运行应用程序时,这工作正常。但是对于创建它而言,它不是采用CSS文件。

1 个答案:

答案 0 :(得分:0)

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

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

然后在youlayout.fxml中引用"@../../css/home.css"应该不再有问题了。