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:
Bordeaux:
Lyon:
Marseille:
Toulouse:
Nantes:
Strasbourg:
Lille:
France:
lesPoints
. Utilisez la variable
current
pour y mettre la photo à afficher (les méthodes
d'affichage paint
et update
le font).