2017-10-15 100 views
1

我正在像下面的Fxml文件中添加CSS文件。JavaFx場景構建器:CSS不在Ubuntu中加載,但在Windows上工作

<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使用場景生成器做,它工作得很好。 但是,當我創建了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文件。

+0

我相信這個jar也不會在windows上工作。您需要指定完整路徑並將所有'../ ..'替換爲正確的文件夾名稱 – JKostikiadis

+0

這可以在Windows中工作,沒有任何問題。當我用Intellij IDEA創建jar時,它在Ubuntu中也完美運行 –

+0

Lister先生,實際上這不是一個web應用程序。它是一個JavaFx桌面應用程序。 –

回答

0

當我沒有將FXML文件本身放置在資源文件夾中時,曾經有過類似的問題。路徑中的資源輸入表明您的FXML文件似乎也不在資源文件夾中。請嘗試以下結構:

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

然後引用"@../../css/home.css"的yourlayout.fxml內應該沒問題了。

相關問題