在Java FX CSS文件中添加URL的相对路径的正确方法是什么

时间:2014-05-24 22:25:43

标签: css url javafx

我有一个背景图片,我想在我的Java FX应用程序中使用,但我认为我无法获得图像的路径(URL?)。我想只使用CSS文件来执行此操作,我不想内联代码。我搜索了Google,但每个人都只使用一个包结构来提供示例。我的目录结构如下所示:

 src/com/myapp/core        (com.myapp.core)
 src/com/myapp/view        (com.myapp.view)
 src/com/myapp/view/css    (com.myapp.view.css)

文件 DashBoard.fxml 位于com.myapp.view css文件 DashBoardStyle.css 位于com.myapp.view.css 图像文件 white-texture.jpg 位于com.myapp.view.css

css文件中的代码是:

.background {
-fx-background-image: url("src/com/myapp/view/css/white-texture.jpg");
-fx-background-repeat: repeat;
 }

DashBoard.fxml文件中的相关代码是

<stylesheets>
   <URL value="@css/DashBoardStyle.css" />
</stylesheets>

2 个答案:

答案 0 :(得分:0)

与css文件位于同一目录中的图像不需要任何相对路径信息。所以只需使用-fx-background-image: url("white-texture.jpg");即可。

如果它不在同一目录中,则必须添加相对路径。例如。 images / image.jpg如果它在子目录中。或者像../images/image.jpg一样去&#39; up&#39;一个目录然后进入图像目录。

答案 1 :(得分:0)

相对路径以System.getProperty("user.dir")位置和源(*.java)文件所在的位置开头。