Java Swing:在Jar中显示图像
时间:2020-03-05 18:44:05 来源:igfitidea点击:
从eclipse运行Java应用程序时,我的ImageIcon正常显示。
但是在创建一个罐子之后,图像的路径显然被搞砸了。
有没有一种方法可以在运行时从jar中提取图像,以便随后将其打开?还是有更好的方法来做到这一点?
如果可能的话,我想分发一个jar文件。
解决方案
回答
我们可以尝试类似:
InputStream stream = this.getClass().getClassLoader().getResourceAsStream("/images/image.jpg");
在JAR文件中,我们可能具有以下目录结构:
MyJAR.jar - com (class files in here) - images ----image.jpg
回答
要在相同的jar中从图像文件创建ImageIcon
,请加载代码:
new javax.swing.ImageIcon(getClass().getResource("myimage.jpeg"))
Class.getResource返回一个资源的URL(或者为null!)。 ImageIcon具有从URL加载的构造函数。
要在不在"类路径"上的jar中构造资源的URL,请参见java.net.JarURLConnection
的文档。