Bonjour,

Je n'arrive pas à trouver la racine du problème.

J'ai une classe "MonFilm" qui instancie 2 ArrayList :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
public MonFilm(){
 
	this.figures = new ArrayList <Figure>();
	this.couleursFond = new ArrayList <CouleurFond> ();
 
	String FondEcran;
}
private ArrayList <CouleurFond> couleursFond;
private String FondEcran;
private ArrayList <Figure> figures;
instanciée comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
MonFilm monFilm = new MonFilm();
monFilm.AjouteCouleurFond(new CouleurFond(Color.white, 0));
Les deux méthodes en question sont :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public void AjouteCouleurFond(CouleurFond CF){
	couleursFond.add(CF);
}
 
public ArrayList <CouleurFond> getTableauCouleurs (){
	return couleursFond;
}
La classe CouleurFond est toute bête, une Color Couleur et un int Index, avec set et get.

Lorsque dans paintComponent du JPanel, j'appelle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
setBackground(monFilm.getTableauCouleurs().get(0).getCouleur());
la méthode est appelée en boucle. Sur la console, je lis :
Appel paintComponent
Appel paintComponent
Appel paintComponent
Appel paintComponent
Appel paintComponent
Appel paintComponent
Appel paintComponent
Appel paintComponent
tant que je n'interrompt pas le programme. (j'ai mis un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
System.out.println("Appel paintComponent");
en début de méthode pour contrôle.)

Je ne comprends pas ce qui se passe. Quelqu'un ayant eu cette expérience pourrait-il me guider? Merci.