On ne peut pas l’appeler directement mais, si besoin est, on peut invoquer la méthode re-
paint() ce qui force le système à exécuter la méthode paint() et donc à redessiner les
composants.
Méthode setVisible(true):Cette méthode permet d’afficher ou de rendre visible la fe-
nêtre (objet Frame dérivée de Window) courante (qui contient les composants) en la pla-
çant au dessus des autres. Elle signifie que le système d’exploitation peut exécuter la fonc-
tion paint().
Exercice 1
Développez la classe abstraite OurShape qui supporte les méthodes (abstraites) suivantes :
public double perimeter()
public double area()
public void translate(int deltaX, int deltaY)
public void scale(double factor) // Homothétie
public void setColor(Color c)
public Color color()
public void setFilled()
public boolean filled()
public void draw(Graphics g) // Dessine la forme concernée
Nous définissons l’origine d’une forme comme l’origine de la "bounding box" de la forme
(rectangle virtuel circonscrit à la forme).
Exercice 2
Développez les sous-classes suivantes (non-abstraites !) de OurShape :OurRectangle,
OurSquare,OurParallelogram,OurEllipseet OurCircle.Implémentez les construc-
teurs suivants :
public OurRectangle(int x, int y, int width, int height)
public OurSquare(int x, int y, int width)
public OurParallelogram(int x, int y, int width, int height, double
angle)
public OurEllipse(int x, int y, int width, int height)
public OurCircle(int x, int y, int width)
Utilisez l’héritage pour organiser les classes d’une manière logique ! Testez les classes en
construisant une classe ShapeTester qui est une sous-classe de Frame.
Exercice 3
Utilisez les classes d’exercice 2 pour développer une classe Car. La classe doit supporter les
méthodes suivantes :
public Car(int x, int y, int size)
public void draw(Graphics g)
Exercice 4 (optionnel)
Construisez une classe Ngon qui est une sous-classe non abstraite de OurShape. Implémen-
tez le constructeur suivant :
public void Ngon(int x, int y, int nSides int widthSide)
Cette classe représente des formes comme des pentagones, hexagones, etc.
2