Bonjour,

pour personnaliser mes affichages, et entre autres coller des textures de fonds dans mes JPanel , j'ai redéfini la méthode paintComponent. Cependant je trouve que l'affichage est lent. Alors j'ai eu l'idée de compter le nombre d'appels de la méthode paintComponent comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public void paintComponent(Graphics g){
         super.paintComponent(g);
         System.out.println("appel de paint "+ i);
         i++;
  //autres commandes   
 
}
Si j' exécute tel quel (via une classe test bien évidemment), je constate qu'il n'y a qu'un seul appel de paintComponent.
Maintenant si je rajoute une commande simple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public void paintComponent(Graphics g){
         super.paintComponent(g);
         System.out.println("appel de paint");
         i++;
           g.drawImage(ImArPlan,0,0,this);
 
}
Où ImArPlan est un fond vert tout simple.
Le nombre d'appel de la méthode devient variable, et en moyenne il dépasse les 250!!

Quelqu' un peut-il m'expliquer la raison d'un si grand nombre d'appel?


Merci d'avance,
Akhan