gpt4 book ai didi

java - 使用 JAR 文件中的图像

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:51 24 4
gpt4 key购买 nike

我似乎无法理解这一点...

我在 Eclipse 中有一个名为 MyProject 的 Java 项目。其根目录中有 bin、src 和 resources 文件夹。在资源内部,我有一个名为 myImage.gif 的图像。

在我的代码中,我想使用这个图像,并且无论它是否从 Jar 文件运行,我都希望它能够工作。我目前正在做这个

ImageIcon j = new ImageIcon(getClass().getResource("/resources/myImage.gif"));

但是当我通过 Eclipse 运行它(不是作为 Jar)时,它吐出一个 null。

执行此操作的正确方法是什么?

最佳答案

如果您要告诉 Eclipse 将资源视为源文件夹,那么您应该可以说

ImageIcon j = new ImageIcon(getClass().getResource("/myImage.gif"));

当您构建 JAR 时,您必须确保 resources 目录的内容进入 JAR 文件的顶层,以便相同的路径在 JAR 情况下工作,即

META-INF
MANIFEST.MF
com
example
MyClass.class
myImage.gif

或者,可能是更常见的 Java 习惯用法,将图像文件放在与 .java 文件相同的目录中(在本例中为 src/com/example),然后使用不带前导斜杠的 getResource

new ImageIcon(getClass().getResource("myImage.gif"));

Class.getResource 解析相对路径,例如针对相关类的包的相对路径。同样,当您构建 JAR 时,您需要在 JAR 中具有相同的结构,这次是在 com/example 下使用 myImage.gif

关于java - 使用 JAR 文件中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14842896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com