当前位置: 首页 > 知识库问答 >
问题:

某些图像不能用相对路径加载-JavaFX

容修贤
2023-03-14

当我在fxml的所有三个位置中引用一个文件时,它工作得很好。当我引用所有3个不同的图像与绝对路径,它的工作很好。但我不理解相对路径只针对少数文件的问题。有人能帮我做这个吗?

我也尝试用“file:”替换“@”,但没有帮助。

<ImageView fitHeight="333.0" fitWidth="450.0" opacity="0.27">
    <image>
         <Image url="@images/ht.jpg" />
    </image>
</ImageView>
<ImageView fitHeight="70.0" fitWidth="68.0" layoutX="5.0" layoutY="7.0">
    <image>
        <Image url="@images/eol.jpg" />
    </image>
</ImageView>
<ImageView fitHeight="103.0" fitWidth="162.0" layoutX="78.0" layoutY="-9.0" preserveRatio="true">
    <image>
        <Image url="@images/eol2.gif" />
    </image>
</ImageView>

共有1个答案

越俊驰
2023-03-14

我已经找到了这个问题的答案,显然您需要在相对URL中包含项目的完整类路径。

例如,如果我的FXML文件位于以下包中:

com/dscalzi/testproject/ui/MyFXML.fxml

我的图像在下面的包中:

com/dscalzi/testproject/ui/assets/myimage.png
<Image url="@/com/dscalzi/testproject/ui/assets/myimage.png" />
 类似资料:
  • 图像加载: 链接1:https://freshtocook.in/uploads/banner/47a16ffc2fc5935dccd37574083c6201.jpg 链接2:https://freshtocook.in/uploads/banner/7eecf823e008a0bb93f347d994b6e534.jpg

  • 当我从JavaFXapplication类调用WindowController类的loadFXMLItemsAgain()方法时,绝对路径是正确的,但我在WindowControllerTest(JUnit)中也这样做了,它导致基本模块.../DeliveryTool/...正在切换到.../DeliveryTool/DeliveryTool/...从而导致错误。 我只希望绝对路径与JavaFXA

  • 我在使用Glide加载图像时有问题。当我试图使用Android默认的它起作用了,但我遇到了内存泄漏问题。 然后我尝试了Glide图像加载器来避免内存泄漏问题。但是我不能使用文件路径加载图像。 我也尝试加载Uri,但也不起作用。 然后我试着从URL Glide加载图像加载URL图像。效果很好。 有人能帮我找到解决这个问题的方法吗?

  • 我有一个图像文件夹的相对路径的问题。我想把图片列到一个文件夹中,把它们的网址添加到列表中,并在jsp中显示出来。代码是这样的: 我试过好几条路,但都不走运。非常感谢你。

  • 我知道这个问题已经被问过很多次了,我已经到处寻找这个可能很简单的问题的解决方案。我正试图学习Oracle网站上的简单javaFX组件教程。我可以这样定义图像: 当图像位于“src”文件夹内的文件夹中时,此操作有效,但当图像文件夹位于“src”文件夹外时,我尝试让它查找图像,如下所示: 我怎样才能做到这一点?我得到的只是“无效URL或未找到资源”的错误。我试着使用绝对路径,试着放“.”在它前面,尝试

  • 我将图像路径(来自图库的图像)存储在SQLite数据库中,现在加载到图像视图中。。。并使用此代码: 和错误: E/BitmapFactory:无法解码流:java.io.FileNotFoundException:/storage/emulated/0/DCIM/Camera/IMG_20161230_224205.jpg(权限被拒绝)