gpt4 book ai didi

java - 在可执行 jar 文件中包含图像图标

转载 作者:行者123 更新时间:2023-12-02 05:33:41 24 4
gpt4 key购买 nike

我正在制作一个国际象棋游戏,并且运行得很好,但我希望能够将其导出为 JAR 文件以便于使用。但是当我导出它时,我放在 JButton 上的棋子的图标不存在。我的图像存储在一个名为 Images 的单独文件夹中,与 src 和 JRE 系统库处于同一级别。我尝试使用 getClass().getResource(string) 方法,但它给了我一个空指针异常。我尝试过询问类似问题的文章中的答案,例如 this 。但没有效果

最佳答案

很可能您传递了错误的资源名称,并且由于类加载器找不到它,getResource() 将返回 null

Class.getResource(String name) 需要一个相对于加载类的位置的资源名称。因此,如果您的资源名为 image.jpg,则 image.jpg 必须位于该类的 getResource() 方法所在的同一文件夹中你正在打电话。

如果以 / 字符开头,您还可以在 jar 内指定绝对文件夹:

getClass().getResource("/resources/images/image.jpg");

在这种情况下,image.jpg 必须位于 jar 内的 /resources/images 文件夹中或源文件夹中(该文件夹将被复制到 >bin 文件夹(由 IDE 生成)。

您还可以使用 ".." 文字向上导航一个(或多个)文件夹(与类的文件夹相比),例如:

getClass().getResource("../images/image.jpg");

在这种情况下,与类的文件夹相比,image.jpg 文件必须位于父文件夹的 images 子文件夹中。

注意:您调用的getResource()方法的Class对象可以像YourClassName.class一样获取或者如果您想引用当前实例的类:getClass()

关于java - 在可执行 jar 文件中包含图像图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25257513/

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