Dans cette fiche... |
Difficulté : ![]() |
Résultat |
Le tracé de polygones en Java. |
// -------------------------------------------------- // DESSINPOLY : DESSIN DE POLYGONES EN JAVA // --------------------------------------------------
import java.applet.*; import java.awt.*;
public class DessinPoly extends Applet { // Déclarer 2 tableaux pour les coordonnées int x[], y[];
public void init() { // Définir la couleur de fond de l'applet setBackground(Color.black);
// Définir les coordonnées de chaque point du polygone x = new int[7]; y = new int[7]; x[0] = 10; y[0] = 10; x[1] = 20; y[1] = 30; x[2] = 100; y[2] = 10; x[3] = 80; y[3] = 80; x[4] = 220; y[4] = 80; x[5] = 10; y[5] = 50; x[6] = 240; y[6] = 10;
// Note : les 2 tableaux peuvent être renseignés plus // facilement. L'important ici est de comprendre le // principe général. }
// La méthode paint() est appelée à chaque fois que l'applet // est dessinée à l'écran. public void paint(Graphics g) { // Tracer un polygone orange, basé sur les tableaux de coordonnées x[] et y[] g.setColor(Color.orange); g.drawPolygon(x, y, 7); } }
Comme d'habitude, seules les nouveautés sont commentées.
// Déclarer 2 tableaux pour les coordonnées int x[], y[]; |
Un polygone est composé de nombreux points, dont il faut
préciser les coordonnées x et y. On déclare donc 2 tableaux, l'un pour les coordonnées x et l'autre pour les coordonnées y. Du coup, x[2] et y[2] désignent par exemple le 3ème point du polygone. |
x = new int[7]; y = new int[7]; |
Ces 2 instructions permettent d'initialiser les 2 tableaux d'entiers,
comme on initialise des objets. Si ces 2 lignes sont oubliées, les lignes suivantes provoqueront une erreur de type "NullPointerException". |
x[0] = 10; y[0] = 10; x[1] = 20; y[1] = 30; ... |
Chaque paire de coordonnées (x, y) est maintenant initialisée. |
g.drawPolygon(x, y, 7); |
On trace enfin le polygone, en donnant comme paramètres le tableau des
coordonnées x, le tableau des coordonnées y, et le nombre de points en
tout.
En passant (mais vous l'aviez déjà deviné !) : en remplaçant g.drawPolygon() par g.fillPolygon(), on obtient un polygone rempli. |
Voici le code qui a été utilisé dans cette page HTML pour faire apparaître l'applet :
<applet code="DessinPoly.class" width=250 height=90> Votre navigateur n'est pas compatible Java ! </applet>
Pour plus de précisions sur l'intégration d'une applet, cliquez ici.