2010-05-06 2 views

Répondre

1

Vous pouvez essayer quelque chose comme ceci:

JList list = new JList(dataModel); 
... 
MouseListener mouseListener = new MouseAdapter() 
{ 
    public void mouseClicked(MouseEvent e) 
    { 
     if (e.getClickCount() == 2) // double click? 
     { 
      int posicion = list.locationToIndex(e.getPoint()); 
      list.setSelectedIndex(posicion); 
     } 
     else if (e.getClickCount() == 1) // single click? 
      list.clearSelection() ; 
    } 
}; 
list.addMouseListener(mouseListener); 

Dites-moi si cela fonctionne ... Je ne peux pas tester ici.

+0

cela fonctionne presque, mais je veux utiliser la sélection multiple et je ne veux pas que l'élément soit sélectionné et effacé avec chaque clic sur la liste. C'est pourquoi je voulais désactiver la sélection d'un seul clic pour commencer au lieu de le laisser se produire et ensuite l'effacer. – yurib

+0

JList a 2 mouselisteners par défaut, je pensais à supprimer l'un d'entre eux, mais puisque je ne sais pas ce que chacun d'eux a peur qu'il pourrait affecter d'autres comportements en dehors de la sélection. – yurib

+0

je viens de supprimer tous les écouteurs de souris et les a remplacés par ce que je veux merci pour l'aide :) – yurib