next up previous
suivant: Questions subsidiaires monter: Applets: exercices pour confirmés précédent: Exercice 3: prix HT

Exercice 4: villes de France

Voici un squelette d'Applet:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Carte extends Applet{
    java.awt.Image img;
    java.awt.Image current;
    Point[] lesPoints;
    public void init(){
	this.addMouseMotionListener(new Listener(this));
	lesPoints = new Point[8];
	lesPoints[0] = new Point(245,215);
	lesPoints[1] = new Point(260,129);
	lesPoints[2] = new Point(400,212);
	lesPoints[3] = new Point(121,278);
	lesPoints[4] = new Point(153,383);
	lesPoints[5] = new Point(335,450);
	lesPoints[6] = new Point(320,344);
	lesPoints[7] = new Point(209,438);
	img = Toolkit.getDefaultToolkit().createImage("france.png");
    }
    public void paint(Graphics g){
	g.drawImage(img,0,101,this);
	g.setColor(Color.RED);
	for (int i=0; i<8; i++){
	    g.fillOval((int) lesPoints[i].getX()-4,
		       (int) lesPoints[i].getY()-4,8,8);
	}
    }
    public void update(Graphics g){
	g.drawImage(img,0,101,this);
	if (current != null){
	    g.setColor(Color.WHITE);
	    g.fillRect(0,0,200,100);
	    g.drawImage(current,0,0,this);
	}
	g.setColor(Color.RED);
	for (int i=0; i<8; i++){
	    g.fillOval((int) lesPoints[i].getX()-4,
		       (int) lesPoints[i].getY()-4,8,8);
	}
    }
}
class Listener extends MouseMotionAdapter{
    Carte app;
    Listener(Carte im){
	app = im;
    }
    public void mouseMoved(MouseEvent e){
      // methode appelée quand un mouvement de la souris est detecté
      // sur l'espace graphique de l'applet.
    }
}

Voici l'affichage que cela donne:

Voici des images des huit villes marquées par un point rouge sur la carte ainsi que l'image de la carte.

Paris: 26
Bordeaux: 27
Lyon: 28
Marseille: 29
Toulouse: 30
Nantes: 31
Strasbourg: 32
Lille: 33
France: 34


next up previous
suivant: Questions subsidiaires monter: Applets: exercices pour confirmés précédent: Exercice 3: prix HT
Barthelemy Francois 2006-03-08