Bonjour,
je suis novice en matière de threads. Si quelqu'un pouvait m'aider... Merci bien :
J'ai créé une application qui lance une animation graphique. Pour cela j'ai créé un thread qui gère cette animation. C'est-à-dire pour la lancer, l'arrêter et la reprendre (en cliquant sur des boutons de ma barre d'outil).
Seulement, quand je lance l'animation ça marche, quand je l'arrête ça marche aussi, mais quand je veux la reprendre ça plante.
Voici le code de ma classe Thread. Les noms des méthodes sont suffisamment explicites pour se passer de commentaires. Encore merci.


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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class Evolution extends Thread {
 
	// référence à la fenetre principale de l'application
	public Evolution(fenPrinc fp){
		this.fp = fp;
	}
 
	public synchronized void anime(){
		if(this.getState() == State.WAITING)
			notifyAll();
		else
			start();
	}
 
	public synchronized void interromp(){
			try {
				wait();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
	}
 
 
	public void run() {
 
		while(true)
			try {
				fp.getPanSys().repaint();
				Thread.sleep(10);
			} catch (InterruptedException e) { e.printStackTrace();}
 
	}
 
	private fenPrinc fp;
 
}