Java Swing:从 Jar 中显示图像

2022-08-31 22:31:09

当从eclipse运行Java应用程序时,我的ImageIcon显示得很好。

但是在创建一个jar之后,图像的路径显然被搞砸了。

有没有办法在运行时从jar中提取图像,以便我可以打开它?或者,有没有更好的方法来做到这一点?

如果可能的话,我想分发一个jar文件。


答案 1

要在相同的 jar 中从图像文件创建,将加载您的代码:ImageIcon

new javax.swing.ImageIcon(getClass().getResource("myimage.jpeg"))

Class.getResource返回资源的 URL(或 !)。 具有从 URL 加载的构造函数。nullImageIcon

要在 jar 中为不在“类路径”上的资源构造 URL,请参阅 的文档。java.net.JarURLConnection


答案 2

您可以尝试以下方法:

InputStream stream = this.getClass().getClassLoader().getResourceAsStream("/images/image.jpg");

在 JAR 文件中,您可能具有以下目录结构:

MyJAR.jar
- com(此处为类文件)
- 图像
----图像.jpg


推荐