修复 Java swing 中显示的 gif

fix the showing gif in Java swing

我想在 java swing 中显示 gif。

为了显示 gif,我使用了这些代码,但在这两个代码中,gif 都没有移动,就像图像是静态的一样。

第一个密码:

void showGif() {
    try {
        JPanel panel = new JPanel();
        BufferedImage bufferedImage = ImageIO.read(new File("address of gif");
        Icon icon = new ImageIcon(bufferedImage);
        JLabel label = new JLabel(icon);
        label.setVisible(true);
        panel.add(label);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

第二个密码:

 void showGif() {
    try {
        ImageIcon imageIcon;
        BufferedImage bufferedImage = ImageIO.read(new File("address of gif"));
        imageIcon = new ImageIcon(bufferedImage);
        JLabel label = new JLabel(imageIcon);
        JPanel panel = new JPanel();
        label.setVisible(true);
        panel.add(label, TOP_ALIGNMENT);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

请帮我正确显示gif。

在这种情况下,您 ImageIcon 将只显示 GIF 的第一帧。

您可以将 GIF 添加到 JLabel,然后再将其添加到 JPanel。查看 this 以获得进一步的帮助。