public
InputStream getResourceAsStream(String name)
public
static
InputStream getSystemResourceAsStream(String name)
public
static
URL getSystemResource(String name)
后两个方法可以看出是静态的方法,这几个方法都可以从 Jar 中读取图片资源,但是
对与动画的 gif 文件,笔者在尝试过程中发现,存在一些差异。
String gifName 为 Gif 文件在 Jar 中的相对路径。
(
1
)使用了两个静态方法
BufferedImage image=ImageIO.read(ClassLoader.getSystemResourceAsStream(gifName));
或者
Image
image=Toolkit.getDefaultToolkit().getImage(ClassLoader.getSystemResource(gifName));
这两种方式可以成功地读取 gif 文件,但是对于 gif 动画,显示出来地是静态的。
(
2
)使用其他两个方法
Image image=Toolkit.getDefaultToolkit().getImage(
this
.getClass.getClassLoader()
.getResource(gifName));
再这种方式下动画可以正常显示了。