Cours Interface Graphique en Java 1.6 Dessin

Extrait du cours interface Graphique en Java 1.6 Dessin

Interface Graphique en Java

Le contexte graphique
● pour dessiner en Swing, il faut utiliser un contexte graphique
● un objet Graphics permet de:
– dessiner dans le composant concerné (JComponent ou Image)
– définir la couleurcourante: set/getColor()
– définir la fontecourante: set/getFont()
– gérer unetranslation:
translate(int x,int y)
Les primitives de dessin
● chacune des méthodes suivantes utilise  l’état courant:
– drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
– drawImage(Image img, int x, int y, ImageObserver observer)
– drawLine(int x1, int y1, int x2, int y2)
– drawOval(int x, int y, int width, int height)
– drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
– drawRect(int x, int y, int width, int height)
– drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Les primitives de dessin
● et puis aussi:
– drawString(String str, int x, int y)
– fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
– fillOval(int x, int y, int width, int height)
– fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
– fillRect(int x, int y, int width, int height)
– fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
● et bien d’autres encore!
Récupérer un contexte
● 1 façon implicite:
– récupérer le Graphics passé à la méthode paintComponent d’un JComponent
● 2 façons explicites:
– récupérer le Graphics d’un composant ou d’une image avec getGraphics()
– obtenir unecopied’un Graphics existant avec createGraphics()
Comment dessiner
● avec paintComponent: on dessine itérativement, en changeant les paramètres du Graphics si nécessaire
public class Pacman extends JComponent {
@Override protected void paintComponent(Graphics g) {
/* super.paintComponent(g); here is useless since
* we don’t extend an existing component */
super.paintComponent(g);
if (isOpaque()) {
g.setColor(getBackground());
g.fillRect(0,0,getWidth(),getHeight());
}
g.setColor(Color.YELLOW);
g.fillArc(0,0,getWidth(),getHeight(),35,280);
g.setColor(Color.BLACK);
g.fillOval((int)(getWidth()*.65),(int)(getHeight()*0.15),
(int)(getWidth()*.08),(int)(getHeight()*0.08));
}
}
Contrat d’opacité
● si on n’hérite pas d’un composant existant et si le composant ne remplit pas toute la zone de dessin, il faut obéir au contrat d’opacité:
– si lecomposantest opaque, on remplit la zone avec la couleur defond
– sinon,onne fait rien
if (isOpaque()) {
g.setColor(getBackground());
g.fillRect(0,0,getWidth(),getHeight());
}
……..

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours Interface Graphique en Java 1.6 Dessin (827 KO)  (Cours PDF)
Interface Graphique en Java

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *