2

我正在尝试将“.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”中的图像。

4

1 回答 1

8

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

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

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

于 2012-09-23T19:38:54.320 回答