2011-04-10 95 views
4

有沒有方法可以在不使用JLabel的情況下在Java中顯示動畫的GIF圖像?我正在嘗試在遊戲中實現一些GIFS,並且只想繪製它們而不需要弄亂JComponents。圖像觀察者會工作嗎?我運氣不好嗎?未使用JLabel的Java動畫GIF

回答

7

以下顯示的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); 
     } 
    }); 
    } 
} 
+0

謝謝!這有助於很多 – 2011-04-10 17:03:00