Java Swing:从 Jar 中显示图像
2022-08-31 22:31:09
当从eclipse运行Java应用程序时,我的ImageIcon显示得很好。
但是在创建一个jar之后,图像的路径显然被搞砸了。
有没有办法在运行时从jar中提取图像,以便我可以打开它?或者,有没有更好的方法来做到这一点?
如果可能的话,我想分发一个jar文件。
当从eclipse运行Java应用程序时,我的ImageIcon显示得很好。
但是在创建一个jar之后,图像的路径显然被搞砸了。
有没有办法在运行时从jar中提取图像,以便我可以打开它?或者,有没有更好的方法来做到这一点?
如果可能的话,我想分发一个jar文件。
要在相同的 jar 中从图像文件创建,将加载您的代码:ImageIcon
new javax.swing.ImageIcon(getClass().getResource("myimage.jpeg"))
Class.getResource
返回资源的 URL(或 !)。 具有从 URL 加载的构造函数。null
ImageIcon
要在 jar 中为不在“类路径”上的资源构造 URL,请参阅 的文档。java.net.JarURLConnection
您可以尝试以下方法:
InputStream stream = this.getClass().getClassLoader().getResourceAsStream("/images/image.jpg");
在 JAR 文件中,您可能具有以下目录结构:
MyJAR.jar
- com(此处为类文件)
- 图像
----图像.jpg