Dessiner
• Utiliser la classe java.awt.Graphics qui contient les méthodes de dessin.
• La classe Graphics doit être importé pour être connue.
• Dans une applette il suffit de redéfinir la méthode
paint()
import java.awt.Graphics;
public class Figure extends java.applet.Applet {
public void paint(Graphics g) {
…
}
}
Feuille de dessin
Applet hérite de java.awt.Component un contexte graphique de type Graphics qui est la feuille de dessin.
Système de coordonnées entières size() donne la dimension de la feuille, de type Dimension
– (0,0) le coin gauche supérieur.
– (0,Size().width) le coin droite supérieur
– (0,Size().hight) le coin gauche inférieur
– (Size().hight,Size().width) le coin droite inférieur
Dessiner une ligne
• Par défaut la feuille est remplie avec une couleur de fond (background)
• On dessine avec la couleur sélectionnée (par défaut le noir).
• Pour dessiner une ligne, il faut spécifier le point de départ de la ligne et son point d’arrivée.
public void paint(Graphics g) {
g.drawLine(50,25,100,25);
}
import java.awt.Graphics;
public class Figure extends java.applet.Applet {
double f(double x) {
return (Math.cos(x/10)+1) * size().height / 2;
}
public void paint(Graphics g) {
for (int x = 0 ; x < size().width ; x++) {
g.drawLine(x, (int)f(x), x + 1, (int)f(x + 1));
}
}
}
Dessiner des rectangles
public void paint(Graphics g) {
g.drawRect(50,30,20,30);
g.fillRect(80,30,20,30);
}
Rectangles aux coins arrondis;
il faut alors ajouter deux paramètres:
– (int) arrondiX: largeur de l’arrondi en x
– (int) arrondiY: hauteur de l’arrondi en y
public void paint(Graphics g) {
g.drawRoundRect(50,70,20,30,15,15);
g.fillRoundRect(80,70,20,30,15,20);
}
Rectangles en relief
Un paramètre supplémentaire booléen indique:
– false: le rectangle est en relief
– true: le rectangle est en creux
public void paint(Graphics g) {
g.draw3DRect(50,110,20,30,true);
g.fill3DRect(80,110,20,30,false);
}
Polygones
Spécifiés par deux tableaux: coordonnées en x et coordonnées en y le polygone n’est pas automatiquement fermé.
Spécifier le nombre de points à dessiner.
Dessine deux polygones.
public void paint(Graphics g) {
int listeX[]={50,40,80,100,55};
int listeY[]={150,170,200,170,160};
int nbrXY=listeX.length;
g.drawPolygon(listeX, listeY, nbrXY);
int listeY2[]={200,220,250,220,210};
g.fillPolygon(listeX, listeY2, nbrXY);
}