Interrogation de TME, Li230                                                 Yann Thierry-Mieg

Mai 2007

 

L’application « Formes » gère des objets géométriques.

Un dispositif d’affichage est fourni par la classe FormesFenetre, que vous pouvez récupérer  sur http://y.mieg.free.fr/LI230/ .

A vous de compléter pour obtenir un code qui tourne. Dans un premier temps, commentez les portions qui ne compilent pas.

 

Ecrivez un main et testez les opérations que vous réalisez au fur et à mesure.

 

Définissez l’opération : void dessine (Graphics g) dans Forme et les classes appropriées.

 

Cette opération devra dessiner l’objet dans un contexte graphique g.

On se limitera aux opérations de java.awt.Graphics ci-dessous :

abstract  void

drawLine(int x1, int y1, int x2, int y2)
          Draws a line, using the current color, between the points
(x1, y1) and (x2, y2) in this graphics context's coordinate system.

abstract  void

drawOval(int x, int y, int width, int height)
          Draws the outline of an oval.
(ATTENTION : (x,y) n’est pas le centre mais le coin haut gauche du carre englobant)

abstract  void

setColor(Color c)
          Sets this graphics context's current color to the specified color.

 

 

Question 1. Définissez la classe abstraite Forme munie d’une couleur.

Question 2. Définissez la classe Point munie d’une abscisse et d’une ordonnée (entiers)

Question 3. Définissez la classe Polygone munie d’un ensemble de sommets (Point). On fournira soit un constructeur prenant en argument un tableau ou vecteur de Point, soit une opération : void addSommet(Point).

Question 4. Définissez les classes Rectangle, Carre

Question 5. Définissez les classes Cercle, Triangle.

Implémentez « dessine » dans toutes ces classes.

Question 6. Définissez dans toutes les classes appropriées  l’opération

« void translate (int x, int y) »

qui translate (déplace) une forme de x pixels vers le bas et de y vers la droite.

 NB : la translation d’une figure se fait en translatant ses sommets…

Ajoutez un appel à  la fonction anime de FormesFenetre dans le main.

 

Rendu : Dès la fin de la séance, mailez à

mailto:Yann.Thierry-Mieg@lip6.fr

Objet : [TME SOLO LI324] Nom de la personne + numero etudiant

Attachez une archive des sources en pièce jointe.

Rappel : tarcvzf  MonNom.tgz  repertoireSources/