JLabel没有显示.gif动画

时间:2012-09-23 19:19:07

标签: java swing jlabel gif bufferedimage

我想在标签上放一个“.gif”图片。图像加载,但它是静态的(没有动画)。任何猜测为什么?以及如何解决它?

我正在使用的代码:

BufferedImage img1=ImageIO.read(TCPServer.class.getResource("filecopy.gif"));
JLabel filetransferpic = new JLabel(new ImageIcon(img1));

注意:我不想使用..

JLabel filetransferpic = new JLabel(new ImageIcon("G:\\filecopy.gif")); 

..方法。因为在这种方法中,我必须给出驱动路径并将图像放在驱动器中。我想要项目文件夹“src”中的图像。

1 个答案:

答案 0 :(得分:8)

在您的示例中,您使用的是BufferedImage。相反,请使用ImageIcon,如下所示:

ImageIcon gifImage = new ImageIcon(new URL("file:/Path/To/file.gif"));
JLabel yourLabel = new JLabel(gifImage);

这应该是动画的。但请记住,构造函数URL(String)会抛出MalformedURLException;一定要抓住它。