Bonjour les éclairés du java !!
Voilà, je me lance simultanément dans le dégrossisage des threads et du double buffering.
Ma question est la suivante, concernant le thread :
Dans mon JPanel, j'ai une classe qui étends Thread, la voici :
Et j'ai trois méthodes externes pour lancer, tuer et reprendre un thread.
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 public class ThreadDeDessin extends Thread { private boolean tuer = false; public void run() { while( true ) { try { preparerProchainPoint(); repaint(); sleep(100); } catch( InterruptedException e ) { } if ( tuer ) return; } } public void arreter() { tuer = true; } }
Je ne suis pas certain que la méthode du relancement soit bonne (càd re-créer une nouvelle instance de ma classe ThreadDeDessin à chaque redémarrage de l'action de dessiner aléatoirement).
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 public void demarrerThread() { thr.start(); } public void arreterThread() { thr.arreter(); } public void reprendreThread() { thr = new ThreadDeDessin(); thr.start(); }
Pourtant, mon petit programme test fonctionne parfaitement.
Si vous pouviez me dire ce que vous en pensez, ça pourrait m'aider...
(Voir les fichiers sources complets attachés à ce post).
Partager