Le probleme est que ImageIcon ne capture pas les evenement de la souris. Par contre, le component/container qui contient ImageIcon le peut souvent (selon le choix du component). Vos ImageIcon sont directement dessines dans le JPanel, ou alors dans une JLAbel/JPanel intermediaire ?
<pseudo-code> class Panneau extends JPanel implements MouseListener {
private JLabel[] jlImg; ... public void initGraphique() { ImageIcon[] mesImages = getImages(); // on recurpere les differentes images jlImg = new JLabel[mesImages.length]; // on cree le tableau de JLabel for(int i = 0; i<jlImg.length; i++) { jlImg[i] = new JLabel(mesImages[i]); // on cree les JLabel jlImg[i].setMouseListener(this); // on enregistre le Listener this.add(jlImg[i]); // ajoute au Panneau } } ... } </pseudo-code>
-- JScoobyCed
"Faab" <faabi1@tele2.fr> :
Or je ne parviens pas à savoir autre chose que les coordonnées du clic et
ce
que je cherche est le nom de l'image sur laquelle on a cliqué...
extrait de mon fichier Panneau (extends JPanel implements MouseListener) :
public void mouseClicked(MouseEvent e) {
Object o = e.getSource() ;
o = findComponentAt(e.getPoint());
System.out.println("Clic detecte : classe "+o.getClass());
//renvoie
Le probleme est que ImageIcon ne capture pas les evenement de la souris. Par
contre, le component/container qui contient ImageIcon le peut souvent (selon
le choix du component). Vos ImageIcon sont directement dessines dans le
JPanel, ou alors dans une JLAbel/JPanel intermediaire ?
<pseudo-code>
class Panneau extends JPanel implements MouseListener {
private JLabel[] jlImg;
...
public void initGraphique() {
ImageIcon[] mesImages = getImages(); // on recurpere les differentes
images
jlImg = new JLabel[mesImages.length]; // on cree le tableau de JLabel
for(int i = 0; i<jlImg.length; i++) {
jlImg[i] = new JLabel(mesImages[i]); // on cree les JLabel
jlImg[i].setMouseListener(this); // on enregistre le
Listener
this.add(jlImg[i]); // ajoute au
Panneau
}
}
...
}
</pseudo-code>
Le probleme est que ImageIcon ne capture pas les evenement de la souris. Par contre, le component/container qui contient ImageIcon le peut souvent (selon le choix du component). Vos ImageIcon sont directement dessines dans le JPanel, ou alors dans une JLAbel/JPanel intermediaire ?
<pseudo-code> class Panneau extends JPanel implements MouseListener {
private JLabel[] jlImg; ... public void initGraphique() { ImageIcon[] mesImages = getImages(); // on recurpere les differentes images jlImg = new JLabel[mesImages.length]; // on cree le tableau de JLabel for(int i = 0; i<jlImg.length; i++) { jlImg[i] = new JLabel(mesImages[i]); // on cree les JLabel jlImg[i].setMouseListener(this); // on enregistre le Listener this.add(jlImg[i]); // ajoute au Panneau } } ... } </pseudo-code>