为什么显示时我的gif不能动画

时间:2020-04-21 20:34:15

标签: java image swing gif bufferedimage

BufferedImage bufferedGif = null;

try {
    bufferedGif = ImageIO.read(new File("res/" + ("Animations/" + "Untitled 2" + ".gif")));
} catch (IOException e) {
    e.printStackTrace();
}

ImageIcon back = new ImageIcon(bufferedGif);
back = new ImageIcon(back.getImage().getScaledInstance((int)(Toolkit.getDefaultToolkit().getScreenSize().getWidth()), (int)(Toolkit.getDefaultToolkit().getScreenSize().getHeight()), Image.SCALE_DEFAULT));
Icon icon = back;

background = new JLabel(icon);

在上面的代码中,当我在JFrame中显示JLabel时,gif没有动画。它显示第一帧,然后在那里冻结。有什么解决办法吗?我使用BufferedImage是因为gif非常大,当我尝试直接使用gif实例化ImageIcon时,它一直滞后。如果我不能使用bufferedimage,还有其他方法可以防止它滞后吗?

0 个答案:

没有答案