Dans cette fiche...

<Retour>

Description de l'applet

Difficulté : Résultat
Le tracé de polygones en Java. Votre navigateur n'est pas compatible Java !

Listing de l'applet

// --------------------------------------------------
// 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);
	}
}

Le listing en détail...

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.

Intégration de l'applet dans la page

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.