在jPanel上显示动画gif

时间:2010-12-02 19:35:29

标签: java

在我的JFrame的重写函数中:

@Override
protected void paintComponent(Graphics g) {

    BufferedImage imagePerson;
    try {
        imagePerson = ImageIO.read(new File("errol.gif"));
    } catch (IOException e) {
        imagePerson = null;
    }

    g.drawImage(imagePerson, i * increment, j * increment - 1, null);
}

如何更改此设置以显示gif上的动画(不使用线程)。我花了很多时间试图让它工作,但无济于事。

2 个答案:

答案 0 :(得分:5)

您可以使用ImageIcon来实现此目的。看看herehere。如果您需要JPanel上的动画,只需在面板中添加JLabel(带ImageIcon)。

答案 1 :(得分:1)

选中此示例以在Swing中显示动画gif。你不必使用任何线程:

Icon imgIcon = new ImageIcon(this.getClass().getResource("ajax-loader.gif"));
JLabel label = new JLabel(imgIcon);
label.setBounds(668, 43, 46, 14); // for example, you can use your own values
frame.getContentPane().add(label);

Source