Hi everybody
Je fait un prog de Messenger. J'ai une fenêtre ki contient une liste de contacts dans une JList, et lorsque je clique sur un des contacts, une nouvelle fenêtre s'ouvre, portant le nom du contact.
Voila mon code :
Ici l'appel de la classe qui écoute le click de souris et ouvre une nouvelle fenêtre :
[cpp] contacts.setListData(contactlist);
contacts.addMouseListener(new ActionJList(contacts, liste_window, liste, moi));[/cpp]
Ici ma classe ActionJList :
[cpp]import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JList;
import javax.swing.ListModel;
class ActionJList extends MouseAdapter
{
JList list;
List_Dialog_window liste_window;
PersonnesPresentes liste;
Personne moi;
public ActionJList(JList l, List_Dialog_window liste_window, PersonnesPresentes liste, Personne moi)
{
list = l;
this.liste_window = liste_window;
this.liste = liste;
this.moi=moi;
}
public void mouseClicked(MouseEvent e)
{
if(e.getClickCount() == 1)
{
int index = list.locationToIndex(e.getPoint());
ListModel dlm = list.getModel();
Object item = dlm.getElementAt(index);
list.ensureIndexIsVisible(index);
Dialog_window Fenetre_conversation = new Dialog_window(String.valueOf(list.getSelectedValue()), liste, moi);
Fenetre_conversation.setVisible(true);
liste_window.ajoutFenetre(Fenetre_conversation);
}
}
}[/cpp]
Le problème, c'est que chaque fois que je click n'importe où, même en dehors de la fenêtre de contact, le click est pris en compte et m'ouvrira plein de fenêtres n'importe comment.
Est-ce que je peux bloquer le MouseListener ou qqch ???
Bon désolé si je parachute mon code n'importe comment ... :??:
En tout cas, merci beaucoup d'avance t1cable:
Je fait un prog de Messenger. J'ai une fenêtre ki contient une liste de contacts dans une JList, et lorsque je clique sur un des contacts, une nouvelle fenêtre s'ouvre, portant le nom du contact.
Voila mon code :
Ici l'appel de la classe qui écoute le click de souris et ouvre une nouvelle fenêtre :
[cpp] contacts.setListData(contactlist);
contacts.addMouseListener(new ActionJList(contacts, liste_window, liste, moi));[/cpp]
Ici ma classe ActionJList :
[cpp]import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JList;
import javax.swing.ListModel;
class ActionJList extends MouseAdapter
{
JList list;
List_Dialog_window liste_window;
PersonnesPresentes liste;
Personne moi;
public ActionJList(JList l, List_Dialog_window liste_window, PersonnesPresentes liste, Personne moi)
{
list = l;
this.liste_window = liste_window;
this.liste = liste;
this.moi=moi;
}
public void mouseClicked(MouseEvent e)
{
if(e.getClickCount() == 1)
{
int index = list.locationToIndex(e.getPoint());
ListModel dlm = list.getModel();
Object item = dlm.getElementAt(index);
list.ensureIndexIsVisible(index);
Dialog_window Fenetre_conversation = new Dialog_window(String.valueOf(list.getSelectedValue()), liste, moi);
Fenetre_conversation.setVisible(true);
liste_window.ajoutFenetre(Fenetre_conversation);
}
}
}[/cpp]
Le problème, c'est que chaque fois que je click n'importe où, même en dehors de la fenêtre de contact, le click est pris en compte et m'ouvrira plein de fenêtres n'importe comment.
Est-ce que je peux bloquer le MouseListener ou qqch ???
Bon désolé si je parachute mon code n'importe comment ... :??:
En tout cas, merci beaucoup d'avance t1cable: