Version 2 : le cercle est un thread !

Changements par rapport à la version précédente

  1. La classe Cercle dérive de Thread. Les cercles sont donc des Threads.
  2. Le constructeur de la classe Thread démarre le thread de chaque cercle dès son instanciation ! Sitôt qu'un cercle est créé, il bouge donc en tâche de fond !
  3. On a déporté le code de déplacement de la méthode run() de l'applet vers la méthode run() de la classe Cercle.
  4. La méthode run() de l'applet se contente d'appeler repaint(). L'applet est donc vraiment un "projecteur de cinéma", ou si vous préférez, elle s'occupe de la partie "animation à intervalle régulier" de votre super jeu vidéo ! La méthode paint() est appelée par repaint() (indirectement) et affiche le cercle à sa position courante, qui change perpétuellement dans la tâche de fond de chaque instance de Cercle.

Que gagne-t-on ?

Sources de cette Applet

Problèmes de cette version

  1. Ca scintille toujours...
  2. Si on retaille l'Applet, le cercle rebondit toujours dans la même zone...
  3. On aimerait bien plus de cercles...