Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Bon, d'accord, je suis bourre ... mais quand meme !

5 réponses
Avatar
Vincent Cantin
Bonjour,

Apres avoir courageusement sacrifier mon temps de ma court vie a vider les
reserves de rouge que l'on a fait pendant la derniere guerre mondiale (oui,
je suis patriote), il y a des choses que je ne comprends pas :

Quand j'ajoute un ListSelectionListener a ma JList customisee, je ne
comprends pas pourquoi elle ne me donne pas toujours l'index de la ligne
nouvellement selectionnee par l'utilisateur (en l'occurrence, moi).

J'utilise la methodeListSelectionListener.getFirstIndex() et
listSelectionListener.getLastIndex() .. et aucun ne me donne le bon index,
c'est a dire celui de la ligne selectionnable (je suis dans une liste ou
j'ai prealablement dit que je ne pouvais selectionner qu'un seule ligne a la
fois).

Ya aussi un truc que je ne comprends pas trop ... pour chaque clique, il me
genere 2 evenements ListSelectionEvent. Quelqu'un sait pourquoi ?

Vincent, bourre, mais bien conscient du pb.

5 réponses

Avatar
Isammoc
Ya aussi un truc que je ne comprends pas trop ... pour chaque clique,
il me genere 2 evenements ListSelectionEvent. Quelqu'un sait pourquoi
?


Pour l'autre question, je ne vois pas... vérifie que les SelectionListener
sont bien liés avec le SelectionModel qui correspond à ta liste.

Mais celle-ci, j'ai la solution:

à chaque clic, 2 évènements de sélection se présente.
La déselection de l'item sélectionné précedemment.
et la sélection du nouvelle item.

Vincent, bourre, mais bien conscient du pb.


Isammoc

Avatar
Vincent Cantin
Solution trouvee (Il fallait juste lire attentivement les 3 lignes de la doc
de la class event) :

JList list = (JList) e.getSource();
int indexDeLaListQueJecherchaisEnVain = list.getSelectedIndex();

Voila, c'est aussi simple.
Avatar
Vincent Cantin
Ya aussi un truc que je ne comprends pas trop ... pour chaque clique,
il me genere 2 evenements ListSelectionEvent. Quelqu'un sait pourquoi
?


Pour l'autre question, je ne vois pas... vérifie que les SelectionListener
sont bien liés avec le SelectionModel qui correspond à ta liste.

Mais celle-ci, j'ai la solution:

à chaque clic, 2 évènements de sélection se présente.
La déselection de l'item sélectionné précedemment.
et la sélection du nouvelle item.

Vincent, bourre, mais bien conscient du pb.


Isammoc


Wouais, en fait il en fesait 2 :
- un lors de l'appuie du bouton de la souris
- un autre lors du relachement du bouton.

Pour n'en prendre qu'un seul (le dernier), j'ai utilise la fontion
getValueIsAdjusting().
Ci-dessous le code de ma fontion entier :

public void valueChanged(ListSelectionEvent e)
{
if (e.getValueIsAdjusting() == false)
{
JList list = (JList) e.getSource();
int etYopMonWantedIndex imageListModel.getElementAt(list.getSelectedIndex());
}
}


Avatar
Vincent Cantin
public void valueChanged(ListSelectionEvent e)
{
if (e.getValueIsAdjusting() == false)
{
JList list = (JList) e.getSource();
int etYopMonWantedIndex > imageListModel.getElementAt(list.getSelectedIndex());
}
}


Typo, sorry, je voulais ecrire :

int etYopMonWantedIndex = list.getSelectedIndex();

.. mais je pense que les interesses comprendront.

Vincent

Avatar
Thibaut Desmarest
Vincent Cantin wrote:
Solution trouvee (Il fallait juste lire attentivement les 3 lignes de la doc
de la class event) :

JList list = (JList) e.getSource();
int indexDeLaListQueJecherchaisEnVain = list.getSelectedIndex();

Voila, c'est aussi simple.


Tu sors -->[]

;)