Version 4 : ThreadGroup statique, boutons poussoirs !
Changements par rapport à la version précédente
- Afin de pouvoir suspendre ou démarrer tous les cercles d'un coup, on crée un ThreadGroup statique
dans la classe Cercle et deux méthodes statiques suspend() et resume() qui permettront de suspendre ou de
réveiller d'un coup tous les Threads du ThreadGroup statique.
- Du coup, on ne fait plus dériver Cercle de Thread, mais on lui fait implémenter Runnable. Ainsi,
on maîtrise la création du Thread de chaque cercle, et on utilise un constructeur de Thread acceptant
le ThreadGroup statique en paramètre.
- Les méthodes suspend() et resume() de l'applet se retrouvent grandement simplifiées.
- On a rajouté 3 boutons poussoirs dans l'applet : un pour arrêter l'animation (touche "pause"
du jeu vidéo), un pour la reprendre, et un pour ajouter des cercles au vol (c'est tellement facile maintenant
!).
- Pour traiter les clicks sur les boutons, l'applet implémente l'interface ActionListener.
Des cercles animés, version 4
|
Sources de cette Applet
Problèmes de cette version
- Ca scintille toujours...
- Si on retaille l'Applet, les cercles rebondissent toujours dans la même zone...
- Ca commence à être pas mal...