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 :

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;
    }
  }
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
public void demarrerThread()
  {
  thr.start();
  }
 
public void arreterThread()
  {
  thr.arreter();
  }
 
public void reprendreThread()
  {
  thr = new ThreadDeDessin();
  thr.start();
  }
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).
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).