Bonjour à tous!

J'ai pour but d'afficher une image à l'endroit ou se heurte le curseur. Cependant je n'y parviens pas.
Le curseur peut parcourir tout le trajet blanc mais se cogne aux autres couleurs. C'est à l'endroit ou à lieu la collision que je voudrais afficher une image.
J'ai essayé avec un BufferReader et avec ImageIO. Mais rien ne s'affiche. Voici le programme que j'utilise pour afficher mon image et déclencher des actions.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package principal;
 
import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Point;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
 
@SuppressWarnings("serial")
public class ImgP1 extends JPanel implements MouseMotionListener{
 
int x =207;
int y =158;
Robot robot;
Image fond;
 
public ImgP1() {	
setSize(586,431);
try {
fond = ImageIO.read(new File("popo.bmp")); /** Image de fond */
Image star = ImageIO.read(new File("patate.gif")); /** Image en curseur */
Toolkit tk = Toolkit.getDefaultToolkit();
Cursor monCurseur = tk.createCustomCursor(star, new Point(16, 16), "souris");
setCursor(monCurseur);
}
catch(IOException ee) {}
addMouseMotionListener(this);
try {
robot = new Robot();
robot.setAutoDelay(0); /** vitesse deplacement */
robot.setAutoWaitForIdle(false);
robot.mouseMove(400,800); /** position curseur au départ */
}
catch(AWTException ee){}
}
 
/** PIXELS NOIRS */
public void mouseMoved(MouseEvent e) {
if (!robot.getPixelColor(e.getX(),e.getY()).equals(Color.white)) { /** le curseur doit rester dans la partie blanche */
robot.mouseMove(x, y);
/** SON */
	Thread playWave=new Son("prout.wav"); /** déclenche un son si les pixels ne sont pas blancs */
	playWave.start();
}
else {
	x = e.getX();
	y = e.getY();
 
}
}
 
 
public void mouseDragged(MouseEvent e) {
 
}
 
/** FENETRE */
public static void main(String[] args) {
JFrame f = new JFrame();
f.setSize(1024,768);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ImgP1 rob = new ImgP1();
f.add(rob,BorderLayout.CENTER);
f.setVisible(true);
}
 
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g.create();
g2.drawImage(fond,0,0,null);
}
}
Si vous avez besoin de plus de précisions, n'hésitez pas!

Merci d'avance pour votre aide.