Вы можете попробовать код ниже, он загружает GIF-изображение с анимацией.
Я думаю, вам нужна только эта часть кода:
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("gif.gif").getFile());
Image image = Toolkit.getDefaultToolkit().createImage(org.apache.commons.io.IOUtils.toByteArray(new FileInputStream(file)));
ImageIcon icon = new ImageIcon(image);
Полный пример кода добавлен ниже:
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import java.io.FileInputStream;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
public class AnimationTest extends JFrame {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
AnimationTest test = new AnimationTest();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.setVisible(true);
}
});
}
public AnimationTest() {
super();
try {
JLabel label = new JLabel();
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("gif.gif").getFile());
Image image =
Toolkit.getDefaultToolkit().createImage(org.apache.commons.io.IOUtils.
toByteArray(new FileInputStream(file)));
ImageIcon icon = new ImageIcon(image);
label.setIcon(icon);
icon.setImageObserver(label);
add(label);
pack();
} catch (Exception e) {
e.printStackTrace();
}
}
}
добавлен тот же код с проектом jave в github, вы можете получить полный код оттуда.
загрузка изображения gif в java с анимацией
Кроме того, вам необходимо использовать приведенную ниже зависимость Apache Commons для примера кода
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>