JTable et sélections

Résolu
cs_le_totophe Messages postés 51 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 26 mai 2007 - 21 sept. 2006 à 20:16
cs_le_totophe Messages postés 51 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 26 mai 2007 - 25 sept. 2006 à 20:18
Bonsoir à tous,

j'ai une JTable dont la 1ère colonne a pour valeur un Boolean de façon à afficher une checkbox.
Ce que je souhaiterais faire et que je n'arrive pas, c'est sélectionner toutes les lignes avec un CTRL+A puis cocher les CheckBox (mettre toutes les valeurs à true) avec une simple pression sur la touche [ESPACE].

J'ai bien:
maTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

Quand je selectionne 1 seule ligne et que j'appuie sur [ESPACE] tout la case se coche ou se décoche mais lorsque je selectionne plusieurs lignes, seule une se coche ou se décoche.

Merci d'avance

7 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
22 sept. 2006 à 17:52
Il se peut qu'une des lignes du JTable (celle où ca ne marche pas) soit en mode édition, et du coup, c'est le cellEditor qui est affiché, et non le CellRenderer.

Donc essaye avec ceci :
boolean valeur = true;
int[] selectedRows = jScrollSortedTablePane1.getTable().getSelectedRows();
maTable() .editingStopped(null);
for(int i = 0; i<selectedRows.length; i++)
{
            maTable().setValueAt(new Boolean(valeur), selectedRows[i], 0);
}

Tant fait pas, je pêterais pas un câble, mais je m'étonne qu'il y ai autant de monde d'un coup qui ont des problèmes sur les JTables !
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
21 sept. 2006 à 20:40
Utilise un KeyListener pour cocher toi même toutes les lignes...
0
Ar0z Messages postés 44 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 12 août 2007
21 sept. 2006 à 21:57
Yep !
Sinon tu peux peut etre essayer de handle ItemStateChanged sur tes checkbox. Dès qu'une checkbox change d'état, tu fais en sorte que toutes les autres selectionnées changent aussi d'état en conséquence.
0
cs_le_totophe Messages postés 51 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 26 mai 2007 2
22 sept. 2006 à 17:45
Tout d'abord, merci pour vos réponses.

Si ça continue DARKSIDIOUS va finir par pêter un plomb avec toutes ces questions sur les JTable mais j'ai encore un problème :
effectivement avec un KeyListener j'ai presque résolu le problème, mais voilà:

j'ai ma table, je fais un joli CTRL+A, une tapouille sur [ESPACE] et toutes les checkBox se cochent sauf 1 (généralement la 1ère) mais ça dépend de la façon dont est arrivé le focus. ça le fait aussi quand il y a eu des cases selectionnées à la souris.

Pourtant, le code n'a rien de spécial:

boolean valeur = true;
int[] selectedRows = jScrollSortedTablePane1.getTable().getSelectedRows();

for(int i = 0; i<selectedRows.length; i++)
{
            maTable().setValueAt(new Boolean(valeur), selectedRows[i], 0);
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
22 sept. 2006 à 22:17
Hummm ... un prof qui aurait eu l'idée de donner un devoir sur les JTables à ses élèves ... et les élèves qui squattent CodeS-SourceS en attendant. Ca c'est déjà vu

Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
23 sept. 2006 à 02:01
Salut,

ce que je ne comprend pas c'est qu'il y a pleins de tutos superbement bien fait qui evitents ce genre de questions.

les JTables sont à la base avec les JTree les objets java les plus hard à manipuler mais honnetement avec la moultitude de doc dessus ils en deviennent super easy

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
cs_le_totophe Messages postés 51 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 26 mai 2007 2
25 sept. 2006 à 20:18
Bonsoir à tous, alors tout d'abord merci DARKSIDIOUS tout est OK

Pour les mauvaises langues je peux dire qu'en ce qui me concerne en tout cas je ne suis pas un élève qui essaye de faire un devoir.

D'autre part, c'est vrai qu'en Java on trouve plein de tuto super bien fait, et pas que pour le JTable, le problème pour moi c'est justement qu'il y en a trop et que tous ceux sur lesquels je suis tombé étaient en anglais et là je bloque un peu.

A part ça c'est pas mal aussi de lire des réponses au cas par cas car on se concentre plus je trouve.

Bonne soirée à tous et encore merci à ceux qui m'ont aidé à m'en dépatouiller
0
Rejoignez-nous