Bonjour tout le monde,
je cherche un moyen de détecter la présence du curseur au dessus de mon Ovale pour déclencher une action, mais l’événement souris prend en compte le Panel sur laquelle l'ovale est dessiné et non pas l'ovale en lui même, c'est à dire au moment où le curseur entre dans les limites du Panel l'action se déclenche, ce que je veux c'est qu'il y ait une action au moment où le curseur entre dans les limites de l'ovale. voila ce que j'ai fait :
Je ne sais pas comment faire pour mettre un "MouseListener" sur une forme dessiné pas sur son conteneur, c'est pour ça que j'ai besoin de votre aide s'il vous plait, Merci !
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 public class CercleNet extends JPanel{ private final Component MonPanel = this; private Graphics2D g2d; private final JPanel Field; public CercleNet(JPanel Conteneur){ Field = Conteneur; this.setSize(50, 50); this.setLocation(50, 50); this.setBackground(new Color(0,0,0,0)); Conteneur.add(MonPanel); Conteneur.repaint(); SourisEvt(); } @Override public void paintComponent(Graphics g){ g2d = (Graphics2D) g; g2d.setPaint(couleur); g2d.fillOval(0, 0, 50, 50); } private void SourisEvt(){ this.addMouseListener(new MouseListener() { @Override public void mouseClicked(MouseEvent e) { } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseReleased(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { /* Action à l'entrée */ } @Override public void mouseExited(MouseEvent e) { /* Action à la sortie */ } }); } }
Partager