Programmation Java 1A - TP24
Interfaces graphiques : classe Canvas


Les méthodes drawArc et fillArc de la classe Graphics

Le but de ce TP est d'écrire un programme qui permet de tracer des arcs (pleins ou en fil de fer) en lisant au clavier les valeurs de l'angle de départ et la longueur de l'arc à tracer (sous forme d'angle également) :

1. Regarder dans la documentation Java à quoi servent les deux méthodes drawArc et FillArc et comment elles s'utilisent.
    Regarder la documentation de la classe Canvas : vous remarquerez notamment qu'on doit écrire une méthode paint lorsqu'on étend la classe Canvas. Regarder à quoi ressemble cette méthode paint dans la classe Canvas, ainsi que les méthodes update et repaint dans la classe Component.

2. Ecrire une classe MonCanvas qui étend la classe Canvas et qui a trois attributs : angleDebut et angleTotal sont des entiers et permettent de savoir à partir de quel angle on dessine et sur quelle longueur d'arc, le booléen plein indique si on dessine en fil de fer (false) ou pas (true); cette classe contiendra une méthode paint.
    Ecrire la méthode paint qui permet de dessiner l'arc (soit plein, soit en fil de fer) en rouge (utiliser setColor de la classe Graphics), ainsi que les deux axes du repère en noir, et éventuellement des graduations comme sur la figure ci-contre (utiliser pour cela la méthode getBounds de la classe Component ou les méthodes getWidth et getHeight).

3. Ecrire une classe MonPanel permettant de mettre en place l'interface du programme : les boutons en bas, le canvas au dessus. On pourra tout écrire dans le constructeur, sans rien mettre en attribut.

4. Ecrire une classe MonEcouteur qui contient deux attributs de type TextField et un attribut de type Canvas. Cette classe est chargée de mettre à jour le booléen plein et les deux entiers angleDebut et angleTotal et de rafraichir l'affichage lorsqu'on clique sur l'un des boutons.

5. Ecrire une classe TestCanvas contenant une méthode main pour tester le programme.