gpt4 book ai didi

java - 图像在 .jar 文件中不起作用

转载 作者:行者123 更新时间:2023-12-01 22:40:34 24 4
gpt4 key购买 nike

创建应用程序的 JAR 后,应用程序中的图像不再出现。我们加载图像的代码示例是:

ImageIcon placeHolder = new ImageIcon("src\\Cards\\hidden.png");

我们不知道为什么会发生这种情况。如果我们不将应用程序压缩为 JAR,应用程序将按预期运行;作为 JAR,图像就会消失。我们还尝试使用 URL 而不是 ImageIcons,但这只会导致程序根本无法运行。

有什么想法吗?

编辑:我们将图像文件放入 JAR 文件中的正确路径中,所以这不是问题。

最佳答案

检查 API 中的 constructor你打电话来。您传入的字符串是一个文件路径 - 当资源打包在 JAR 中时,文件系统上不存在包含该图像的文件,因此您不能再使用此构造函数。

相反,您需要使用类加载器从流中加载资源,并将它们拉入字节数组:

byte[] buffer = new byte[IMAGE_MAX_SIZE];
InputStream imageStream = getClassLoader().getResourceAsStream("src\Cards\hidden.png");
imageStream.read(buffer, 0, IMAGE_MAX_SIZE);
ImageIcon placeHolder = new ImageIcon(buffer);

当然,需要更多的异常和边缘情况处理,但这就是要点。

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

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