【问题标题】:What is the correct way to add relative path to URL in Java FX CSS File在 Java FX CSS 文件中添加 URL 的相对路径的正确方法是什么
【发布时间】:2014-05-24 22:25:42
【问题描述】:

我想在我的 Java FX 应用程序中使用一个背景图像,但我认为我无法正确获取图像的路径(URL?)。我只想使用 CSS 文件来执行此操作,并且我不想内联代码。我搜索了谷歌,但每个人都只使用一个包结构给出了例子。我的目录结构如下:

 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>

【问题讨论】:

  • 不清楚你是否真的尝试过这个,或者你只是假设。请测试您自己的应用程序包,然后报告结果。在您的问题中包含任何错误日志。
  • 我对此进行了测试,背景图像没有显示在应用程序中,当我在场景构建器中添加 CSS 文件时,它显示“文件 white-texture.jpg 不存在”因为我得到了这个消息我认为这是因为我的 url 格式错误。

标签: css url javafx


【解决方案1】:

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

如果不在同一个目录中,则必须添加相对路径。例如。 images/image.jpg 如果它在子目录中。或者像 ../images/image.jpg 去“向上”一个目录然后进入图像目录。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-06-13
      • 2016-12-14
      • 2014-10-29
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 2021-12-04
      • 1970-01-01
      相关资源
      最近更新 更多