Bonjour, je cherche a récupérer les coordonnées de la souris lors d'un clic, mais la méthode MouseListener + getx();getY(); ne marche pas car ne considère pas un Jlabel comme un objet.
Je ne récupère donc pas ces coordonnées lorsque je clique sur mon fond...

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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
 
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
 
 
 
@SuppressWarnings("serial")
public class Jeu extends JFrame implements MouseListener {
 
 
	public JButton barre1 = new JButton("", new ImageIcon("barre1.gif"));
	public JButton barre2 = new JButton("", new ImageIcon("barre2.gif"));
	public JButton barre3 = new JButton("", new ImageIcon("barre3.gif"));
	public JButton barre4 = new JButton("", new ImageIcon("barre4.gif"));
 
 
 
 
	    // déclaration variables
 
            public int Clickx = getX();
            public int ClickY = getY();
			public byte nombreDeDoodeVert=4;	
			public byte nombreDeDoodeBleu=4;
			public byte nombreDeDoodeRouge=4;
			public byte nombreDeDoodeJaune=4;
			public byte nombreEnnemis=75;
			public int nombreDeDoode=nombreDeDoodeVert+nombreDeDoodeBleu+nombreDeDoodeRouge+nombreDeDoodeJaune;
			public short doowatt=500;
			public short nourriture=500; // chercher un autre nom
			public short geleeNoire; // autre nom
			public short nombreEnnemisTues=0;
			public String pseudo;
 
 
 
			// Jeu
 
			public Jeu (String titre) {                 //création de la méthode constructeur
			setTitle (titre);
			Container contenu2 = getContentPane();	
 
 
 
 
 
		    JLabel BarreVert = new JLabel();
		    JLabel BarreBleu = new JLabel();
		    JLabel BarreRouge = new JLabel();
		    JLabel BarreJaune = new JLabel();
 
 
			JLabel label = new JLabel();
 
			contenu2.setLayout(null);
			Image image = Toolkit.getDefaultToolkit().createImage("map3.jpg");// nouveau JLabel backgound
			label.setIcon(new ImageIcon(image));
 
 
 
			contenu2.add(BarreVert,0);
			BarreVert.setText(""+nombreDeDoodeVert);
			BarreVert.setBounds(98,2,20,20);
			BarreVert.setForeground(Color.white); 
 
 
 
 
 
 
			contenu2.add(BarreBleu,1);
			BarreBleu.setText(""+nombreDeDoodeBleu);
			BarreBleu.setBounds(292,2,20,20);
			BarreBleu.setForeground(Color.white);
 
 
			contenu2.add(BarreRouge,2);
			BarreRouge.setText(""+nombreDeDoodeRouge);
			BarreRouge.setBounds(492,2,20,20);
			BarreRouge.setForeground(Color.white);
 
 
			contenu2.add(BarreJaune,3);
			BarreJaune.setText(""+nombreDeDoodeJaune);
			BarreJaune.setBounds(676,2,20,20);
			BarreJaune.setForeground(Color.white);
 
 
 
 
 
			contenu2.add(barre1,4);
		    barre1.setBounds(5,5,190,55);
			barre1.setFocusPainted(false);
			barre1.setBorderPainted(false);                  // ces trois lignes enelvent la bordure du boutton
			barre1.setContentAreaFilled(false);
	        barre1.addMouseListener(this); 
 
 
	        contenu2.add(barre2,5);
		    barre2.setBounds(187,5,190,55);
			barre2.setFocusPainted(false);
			barre2.setBorderPainted(false);                  // ces trois lignes enelvent la bordure du boutton
			barre2.setContentAreaFilled(false);
	        barre2.addMouseListener(this);
 
 
	        contenu2.add(barre3,6);
		    barre3.setBounds(372,5,190,55);
			barre3.setFocusPainted(false);
			barre3.setBorderPainted(false);                  // ces trois lignes enelvent la bordure du boutton
			barre3.setContentAreaFilled(false);
	        barre3.addMouseListener(this);
 
 
	        contenu2.add(barre4,7);
		    barre4.setBounds(557,5,190,55);
			barre4.setFocusPainted(false);
			barre4.setBorderPainted(false);                  // ces trois lignes enelvent la bordure du boutton
			barre4.setContentAreaFilled(false);
	        barre4.addMouseListener(this);
 
 
 
 
	        contenu2.add(label,8);
			label.setBounds(0, 0, 1280, 1024);
 
 
			setSize(1280,1024);
			setResizable(false);
			setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
			setVisible(true);
 
 
 
 
		}
 
 
 
 
 
 
 
 
 
		public void mouseClicked(MouseEvent Clicevt) {	
 
		System.out.print("lawl!");
 
		}
 
 
		public void mouseEntered(MouseEvent arg0) {
			// TODO Auto-generated method stub
 
		}
 
 
		public void mouseExited(MouseEvent arg0) {
			// TODO Auto-generated method stub
 
		}
 
 
		public void mousePressed(MouseEvent Pressevt) {
 
 
			}
 
 
 
 
		public void mouseReleased(MouseEvent arg0) {
 
 
		}
	}
J'ai transformé le Jlabel en JButton, cela marche, mais je ne voit plus mes autre composants... Ya-t-il un autre moyen d'afficher l'image et de récupérer ces coordonnées, ou bien une autre méthode de getX(); getY(); qui marcherait mieux ?