繁体   English   中英

Java动画GIF而不使用JLabel

[英]Java animated GIF without using a JLabel

有没有办法在不使用JLabel的情况下在Java中显示动画GIF图像? 我正在尝试在游戏中实现一些GIFS,并且想要绘制它们而不需要弄乱JComponents。 图像观察者会工作吗? 我运气不好吗?

以下显示JPanel中的图像而不使用JLabel:

import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class ImagePanel extends JPanel 
{

  Image image;

  public ImagePanel() 
  {
    image = Toolkit.getDefaultToolkit().createImage("e:/java/spin.gif");
  }

  @Override
  public void paintComponent(Graphics g) 
  {
    super.paintComponent(g);
    if (image != null) 
    {
      g.drawImage(image, 0, 0, this);
    }
  }

  public static void main(String[] args) 
  {
    SwingUtilities.invokeLater(new Runnable() 
    {

      @Override
      public void run()  
      {
        JFrame frame = new JFrame();
        frame.add(new ImagePanel());

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
      }
    });
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM