2011-02-03 3 views
0

Salut j'ai un jpanel à dessiner. à partir de ce jpanel je fais des images tamponnées et les sauve dans une liste liée. sur un bouton, je veux animer ce bufferedimages (jouer un après un) le problème est que le jpanel ne montre pas les images tamponnées, mais quand j'utilise ImageIO.write pour sécuriser les images tamponnées sur le disque, je reçois toutes les images que je veux animer . les pls m'aident.jpanel ne dessine pas une image tamponnée mais l'image tamponnée peut être créée en tant que fichier

voici mon code:

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); 
     } 
} 

Répondre

1

Le Thread.sleep() provoque l'interface graphique de geler si elle ne peut pas repeindre lui-même.

Pour faire de l'animation, vous devez utiliser une balançoire Timer. .

+0

ne marche pas :(travail même problème – Tammo

+0

du temps pour un SSCCE (http://pscode.org/sscce.html) Générer les images dans le code –

+0

g.drawImage (b, 0, 0, null);. je veux générer les images avec cette ligne de code – Tammo

Questions connexes