Bonjour j'ai un petit souci au niceau ressources CPU que j ai pu identifier mais non résolver

Mon programme peut etre résumer à un thread qui en sortie donne un état et selon cet état je dois changer une image

au début j avais mis le repaint() dans mon public void paint et donc ça tournait en boucle avec utilisation de 50 % des ressources CPU (mais ça fonctionnait)

Hélas je n arrive pas à placer le repaint() autre part et que cela fonctionne

voici les bouts de code incriminés

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public void paint (Graphics g){ 
 
		image = getToolkit().getImage("map.jpeg");
		imageau = getToolkit().getImage("map1.jpeg");
		imagely = getToolkit().getImage("map2.jpeg");
		imagema = getToolkit().getImage("map3.jpeg");
 
		if (cximage == 0)
		{
		g.drawImage(image, 620, 0,w);
		repaint();
 
		}
	    if (cximage == 1)
		{
			g.drawImage(imageau, 620, 0,w);

et dans le public void run

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
if (distancepa <= limite && canvas.etat == true && canvas.cximage !=0)
					{
						canvas.cximage = 0;
 
					}
					else 
 
						if (distanceau <= limite && canvas.etat2 == true && canvas.cximage !=1 )
							{
							canvas.cximage = 1;
							}

Merci d avance si vous avez une idée