2011-04-10 9 views
4

JLabel을 사용하지 않고 Java로 애니메이션 GIF 이미지를 표시하는 방법이 있습니까? 게임에서 일부 GIFS를 구현하려고하는데 JComponents를 망칠 필요없이 페인트 만하고 싶습니다. 이미지 관찰자가 작동할까요? 나는 운이 없다? 다음JLabel을 사용하지 않고 Java 애니메이션 GIF

답변

7

의 JLabel을 사용하지 않고 JPanel의에서 이미지를 보여줍니다

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

감사합니다! 도움이 많이. –

관련 문제