Bonjour,
Je cherche à bloquer ma multi sélection sur ma jtable avec la souris.
En faite avec la souris je veux empécher la multi sélection et la permettre dans les autres cas.
Merci
Bonjour,
Je cherche à bloquer ma multi sélection sur ma jtable avec la souris.
En faite avec la souris je veux empécher la multi sélection et la permettre dans les autres cas.
Merci
il va falloir que tu joue avec le setSelectionMode();
un peu du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 resultsTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION);
oui ok mais comme savoir à la fois qu'il est pressed et qu'il bouge?
je crois que je vois ce que tu veux dire :
tu as un list en mode SINGLE_SELECTION
tu selectionnes une ligne et si tu ne relache pas le clic gauche (pour enchainer sur un dnd vers le bas par exemple) ta selection ne reste pas sur la premiere ligne selectionnée mais selectionne a chaque fois la nouvelle ligne sous le curseur ? c'est ca
si c'est la cas j'ai la meme question : comment empecher un defilement automatique de la liste et la selection de la ligne sous le curseur quand on est en mode SINGLE_SELECTION
Excusez moi mais je ne comprends pas trop ton besoin !!
Pourrais tu être plus explicite ??
Dans tous pour que tu t'en sorte il va falloir que tu étendes la classe
qui gére la sélection de tes cellules
Code : Sélectionner tout - Visualiser dans une fenêtre à part DefaultListSelectionModel
et pour être plus précis ..
Il faudra que surcharge la méthode suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 public void setLeadSelectionIndex(int leadIndex) { int anchorIndex = this.anchorIndex; if ((anchorIndex == -1) || (leadIndex == -1)) { return; } if (this.leadIndex == -1) { this.leadIndex = leadIndex; } boolean shouldSelect = value.get(this.anchorIndex); if (getSelectionMode() == SINGLE_SELECTION) { anchorIndex = leadIndex; shouldSelect = true; } int oldMin = Math.min(this.anchorIndex, this.leadIndex); int oldMax = Math.max(this.anchorIndex, this.leadIndex); int newMin = Math.min(anchorIndex, leadIndex); int newMax = Math.max(anchorIndex, leadIndex); updateLeadAnchorIndices(anchorIndex, leadIndex); if (shouldSelect) { changeSelection(oldMin, oldMax, newMin, newMax); } else { changeSelection(newMin, newMax, oldMin, oldMax, false); } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager