2011-02-03 43 views
0

嗨,我有一個jpanel來繪製。從這個jpanel我做bufferedimages和安全到一個鏈表。在一個按鈕上按下我想動畫這個bufferedimages(一個接一個地播放) 問題是,jpanel不顯示緩衝圖像,但是當我使用ImageIO.write安全磁盤上的bufferedimages我得到所有圖片我想動畫。請幫助我。jpanel不畫一個緩衝的圖像,但緩衝的圖像可以創建爲文件

這裏是我的代碼:

public void run(){ 
for(int i=0;i`<`cm.animationListe.size();i++){ 
     b= cm.animationListe.get(i); 

     try { 
      ImageIO.write(b, "png", new File("c:/java/circle"+i+".png")); 

     } catch (IOException e1) { 
      e1.printStackTrace(); 
     } 
    try { 
      Thread.sleep(1000); 
      repaint(); 

     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     }} 
animation = false; 
} 

public void paintComponent(Graphics g){ 
    super.paintComponent(g); 
    if(animation){ 
      g.drawImage(b,0, 0,null); 
     } 
} 

回答

1

的Thread.sleep()方法使GUI凍結,因此它不能重繪自己。

要做動畫,你需要使用Swing Timer

+0

does not work :(同樣的問題 – Tammo 2011-02-03 17:04:54