TP n°5 et 6

Pour ce TP, nous allons utiliser une bibliothèque simplissime de dessin. La bibliothèque se trouve ici et la documentation . Vous devez ajouter le bibliothèque à DrJava (Edit–> Preferences –> Add Extra ClassPath).

Exercice 1

Pour se familiariser avec la bibliothèque, effectuer les dessins suivants:

Exercice 2

Pour cette exercice, il faudra écrire la documentation au fur et à mesure des classes.

  1. Créer une classe Point pour représenter un point. Elle contiendra ses coordonnées, sa couleur et l’épaisseur du trait.

  2. Y ajouter une méthode void draw(Drawing d) qui dessine le point.

  3. Créer une classe Triangle pour représenter un triangle. Les trois segments peuvent être de couleurs différentes mais sont tous de la même épaisseur. Les points ont leur propore couleur et épaisseur (la même pour les trois). Y adjoindre la méthode draw.

  4. Idem pour les rectangles.

  5. Créer une classe Maison qui représente une maison, toujours avec une méthode draw.

  6. En utilisant la classe précédente, faire une animation avec une maison dont la taille devient de plus en plus grande.

  7. Repenser toutes les classes en créant des classes supplémentaires utiles pour structurer mieux les données : un Point contient six nombres, il peut être intéressant de les regrouper de manière logique.

  8. Faire un diagramme de classe de votre solution.

Exercice 3

  1. Créer une classe Forme qui contient un tableau de points. Implémenter la méthode draw pour qu’elle dessine la forme (d’une seule couleur et une seule épaisseur)

  2. Surcharger la méthode draw : implémentez une méthode void draw(Drawing d, boolean diagonales) qui dessine aussi les « diagonales » si le deuxième paramètre est true. Si la forme a moins de 4 points, cette méthode doit lancer une exception de type IllegalArgumentException. On rappelle la double boucle for pour parcourir toutes les paires (i,j) d’un tableau :

     for (int i=0;i<tableau.length-1;i++) {
       for(int j=i+1;j<tableau.length;j++) {
    
  3. Créer une classe Mondrian qui contient un tableau de formes, toujour avec une méthode draw

  4. Surcharger la méthode draw de la classe Mondrian pour qu’elle prenne en paramètre aussi un double diag et qui dessine les formes avec la diagonale avec probabilité diag. Si l’exception IllegalArgumentException est lancée, la méthode dessinera un X rouge de largeur 50 en haut à gauche de la fenêtre.

Exercice 4

Dessiner le diagramme des classes de la classe Mondrian.