JavaFX:只有在我使用绝对路径时才会显示ImageView ...为什么?

时间:2017-06-07 18:49:03

标签: xml javafx resources scenebuilder

我在Intellij IDEA上使用 JavaFX 和SceneBuilder。我正在尝试在我的应用程序的登录屏幕中显示一个简单的png图像。如果我尝试采用相对路径(如下所示)图片将无法显示(即使我没有收到任何错误或警告)。

<ImageView
    fitHeight="87.0"
    fitWidth="91.0"
    pickOnBounds="true"
    preserveRatio="true">
    <image>
        <Image
            url="@../../res/logo.png" />
    </image>
</ImageView>

但是,如果我尝试使用绝对路径,则可以使用

<Image
    url="file:/home/username/Workspaces/IdeaProjects/MyProject/res/logo.png" />

由于我正在与一个小组一起开展这个项目并且我正在与git共享它,所以我绝对需要相对的路径。如何解决这个问题?

请注意如果我插入一个带来不存在资源的相对路径,我会收到错误!因此IDE正确识别路径,但是当它是相对路径时,某种方式无法正确显示图片。

1 个答案:

答案 0 :(得分:1)

我用IntelliJ对它进行了测试并使其正常工作。我建议你做以下事情:

  • 在IntelliJ中转到文件 - &gt;项目结构......
  • 在“模块”下,选择您的res文件夹并将其添加为“资源”文件夹。
  • 单击“确定”,然后将图像的路径更改为fxml中的“/logo.png”。

图片如下以获得更好的解释;) enter image description here