Bonjour,
Je n'ai pas trouvé la solution en effectuant une recherche sur le site !
Bref, je cherche à remplacer une image img1 par une autre image img2 lorsque la souris entre dans le panneau contenant img1 et inversement lorsque la souris en sort.
J'y parviens mais lorsque la souris entre ou sort du cadre JFrame et non de JPannel. Je ne comprends pas pourquoi !!
Voici le code :
Pouvez-vous éclairer ma lanterne?
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 import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.*; public class MainClass { public static void main(String[] args) { JFrame aWindow = new JFrame(); RecordPanel _canvas = new RecordPanel(); _canvas.setBounds(0,0,80,80); aWindow.add(_canvas); aWindow.setBounds(200, 200, 200, 200); aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); aWindow.setTitle("Mon premier programme"); aWindow.setVisible(true); } } class RecordPanel extends JPanel implements MouseListener, MouseMotionListener { BufferedImage img1; BufferedImage img2; BufferedImage ImageBuffer; public RecordPanel() { try{ img1 = ImageIO.read(new File("strawberry[1].jpg")); img2 = ImageIO.read(new File ("stylo.jpg")); addMouseListener(this); addMouseMotionListener(this); } catch (IOException e) { } } public void mouseClicked(MouseEvent me) { } public void mouseEntered(MouseEvent me) { if(ImageBuffer==null) { ImageBuffer=img1; } else { ImageBuffer=img2; } repaint(); } public void mouseExited(MouseEvent me) { ImageBuffer=img1; repaint(); } public void mousePressed(MouseEvent me) { } public void mouseReleased(MouseEvent me) { } public void mouseDragged(MouseEvent me) { } public void mouseMoved(MouseEvent me) { } public void paint(Graphics g) { if(ImageBuffer==null){ ImageBuffer=img1; } g.drawImage(ImageBuffer,0,0,null); } }
Merci
Partager