JList

cs_le_totophe Messages postés 51 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 26 mai 2007 - 26 avril 2007 à 19:44
ivantil Messages postés 25 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 29 janvier 2011 - 2 mai 2007 à 11:53
Bonsoir tout le monde,

mon problème est celui-là:
j'ai une JList qui contient presque 200 lignes et je voudrais limiter le nombre d'items sélectionnés à 5.

J'avais essayé de récupérer l'évènement ListSelectionEvent, mais une fois que je l'ai intercepté, je ne sais pas quoi en faire (en fait j'ai pas réussi à l'annuler avec un truc du style e = null) donc si quelqu'un pouvait au moins me dire si je suis sur la bonne voie et sinon, si vous aviez la solution la serait le top.

J'avais aussi pensé qu'il faudrait peut-être récupérer l'évènement en aval (mais comment ???) ou faire un truc directement dans le ListModel (mais quoi ???)

Merci d'avance à vous tous.
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/ListSelectionEvent.html

1 réponse

ivantil Messages postés 25 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 29 janvier 2011
2 mai 2007 à 11:53
Salut,

J'ai utilisé une JList il n'y a pas longtemps, je n'ai pas eu a limiter la selection, mais j'avais vu dans l'aide des méthodes qui pourraient le permettre...

quand un changement de selection interviens, tu n'utilise pas ton ListSelectionEvent. tu utilise les méthodes de JList:
 int[]
,
getSelectedRows()


          Returns the indices of all selected rows., ----


pour savoir quelles lignes sont selectionnées, puis, tu utilises
 void
,
removeRowSelectionInterval(int index0,
int index1)


          Deselects the rows from
index0
to
index1
, inclusive., ----


pour déselectionner la dernière valeur selectionnée par exemple.

Il y a peut etre moins "brutal", mais j'aurai fait comme ca moi.

Boujoux, bon courage!

--==IvanTil==--
0
Rejoignez-nous