paint()
� la méthode paint() est appelée quand le dessin d’un objet Component doit être mis à jour
(première visualisation, changement de taille, réaffichage)
� l'objet est redessiné complètement à chaque appel de la méthode paint()
� les méthodes update() et repaint() permettent de mettre à jour l'objet
La méthode paint(Graphics gc)
� définie dans Component, ne fait rien
� doit être redéfinie dans des classes dérivées de
Frame, Canvas, Applet, pour dessiner l’objet s’il
n’est pas utilisé comme objet Container
� l'objet Graphics en argument
� représente le contexte graphique de l’objet
Component
� reçoit les messages permettant de dessiner
� est fourni par la machine virtuelle
La classe java.awt.Graphics
� est abstraite
� regroupe toutes les méthodes de dessin
� ne peut pas être instanciée par un new
� accès aux instances de la classe avec les méthodes paint(), update() et getGraphics()
d'un objet Component
Contexte graphique Exemple
public class Fenetre extends Frame
{ public Fenetre()
{}p{}ub.l.i.c vogi.ddrpaawiSnttr(iGnrga(p"hHieclslog"),100,100);
}
Méthodes repaint() et update()
La méthode update()
� est appelée indirectement par la méthode repaint()
� remplit le composant avec sa couleur de fond
� initialise la couleur du premier plan
� appelle paint()pour redessiner l'objet Component
La classe java.awt.Component
� classe abstraite
� super-classe de Canvas, Container, Frame,
Applet, Button,…
� méthodes :
getParent() getPeer() getToolkit()
getBackground() setBackground()
getForeground() setForeground()
paint() repaint() update() …
Classes dérivées
� objets Container
utilisés pour contenir d'autres objets ou pour afficher directement des dessins
� Window
Dialog : boîtes de dialogue ayant un cadre et
un titre
Frame : fenêtres du système graphique de
l'hôte
� Panel : objets utilisés comme zone d'affichage pour ajouter des composants ou dessiner
directement
� objets Canvas
rectangles blancs utilisés pour définir des composants graphiques personnalisés dessinés en
utilisant les méthodes de la classe Graphics
� autres objets
Button, Chekbox, List, Choice, Label