Programmation Java Avancé

Master M2 TTT --- Feuille n° 3

Swing - Le retour

Exercice n° 1

Écrire un programme Java qui affiche la courbe de la fonction sinus dans une fenêtre redimensionnable telle que l'abscisse 0 correspond toujours au bord gauche, l'ordonnée 1 au bord supérieur, l'abscisse -1 au bord inférieur, et le repére est orthonormé.

Exercice n° 2

Écrire une interface Drawable qui déclare la méthode void draw(Graphics g);. Écrire des classes Ligne Rectangle et Cercle qui implémentent Drawable et contiennent chacune un constructeur dont les arguments sont (int x0, int y0, int x1, int y1, Color couleur), où (x0,y0) et (x1,y1) sont respectivement les extrémités de la ligne, deux coins opposés du rectangle, ou le centre et un point sur le cercle. Lorsque l'on appelera la méthode draw chaque objet devra se dessiner grâce à l'objet Graphics passé en paramètre selon sa couleur.

Exercice n° 3

Écrire un sélecteur de couleurs ColorSelection qui, à l'aide d'un groupe de JRadioButton permet de choisir entre bleu, rouge et vert. Un ColorSelection dispose d'une méthode Color getSelected() renvoyant la couleur sélectionnée.

Exercice n° 4

Écrire une énumération Forme dont les valeurs sont LIGNE, RECTANGLE et CERCLE. Chaque forme possède une méthode Drawable getForme(int x0, int y0, int x1, int y1, Color couleur) qui retourne l'objet correspondant.
Écrire un sélecteur de formes FormeSelection sur le même modèle que ColorSelection.

Exercice n° 5

Écrire la classe Dessin qui étend JPanel. Son constructeur prend en arguments un ColorSelection et un FormeSelection. Un objet Dessin est son propre MouseListener et lorsque l'on clique deux fois sur lui, il ajoute à la liste des objets dessinés la forme décrite par les sélecteurs.

Exercice n° 6

Terminer l'application en mettant dans une fenêtre les différents éléments: