Animer une image
Objectifs
Il s'agit de faire une animation simple où, à intervalles de temps réguliers, on redessine tout le contenu de la fenêtre de façon à obtenir une animation. L'animation correspond à ce que vous pouvez voir sur l'applet ci-dessous.
Programmation
Le plus simple est d'utiliser un timer, instance de la classe javax.swing.Timer :
- Un timer sert à provoquer une action à intervalles réguliers
- Il doit être associé avec un (ou plusieurs) ActionListener et il dépend d'un délai
- Tous les "délai(s)" secondes, le timer appelle la méthode actionPerformed du (des) listener(s) qui lui sont associés.
- On doit démarrer le timer avec la méthode start() ; on peut choisir le temps avant la premier appel du timer
- On peut choisir que le timer ne fasse une action qu'une seule fois
- On peut arrêter le timer avec la méthode stop() ou le faire repartir avec la méthode restart()
Vous écrirez
- un JPanel nommé Ardoise
- dimension 200 sur 200
- bordure verte de 5 pixels de large
- la méhode paintComponent(...) devra dessiner des cercles de centres et de rayons variables afin d'obtenir l'animation
- possedant un timer
- traitant les deux bouttons "arreter" et "reprendre"
- un JFrame et une JApplet nommés respectivement DisqueJFrame
et DisqueJApplet
- créant les bouttons
- regroupant, à l'aide d'un JPanel, une Ardoise et les bouttons
- activant et désactivant les bouttons en fonction des clicks de l'utilisateur