JTable ... Selection de ligne et de colonne. [Résolu]

Messages postés
152
Date d'inscription
mardi 4 mai 2004
Dernière intervention
8 octobre 2008
- 19 sept. 2006 à 10:23 - Dernière réponse :
Messages postés
35
Date d'inscription
mercredi 5 octobre 2005
Dernière intervention
24 octobre 2016
- 15 nov. 2007 à 18:02
Bonjour,

Ces forums associés aux exemples utilisant des JTables sur ce site m'ont permis de progresser très rapidement dans leur utilisation. mais je cherche toujours à ajouter quelques fonctions ...

1/ la premier est de pouvoir selectionner une ligne par le prog (pas en cliquant dessus) ... ca me servira lors d'un reclassement par exemple à deplacer la selection pour qu'elle suive les infos précédement selectionées...
En gros c'est linverse de MyTable.getSelectedRow( )

Et ressemblerait à MyTable.setSelectedRow(int _row)

2/ la seconde fonction consiste a cliquer sur l'entete d'une colonne pour déclecher une action... un tri en l'occurence (je sais faire le tri :) ) pour l'instant mes entetes de colonnes ne sont pas cliquables.

Merci
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
124
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
11 mai 2009
- 19 sept. 2006 à 18:12
3
Merci
Excuse moi, la bonne méthode est:
table.changeSelection (rowIndex,columnIndex, false, false);
Pour les 2 derniers booleens, renseigne toi sur leurs effets.
A bientôt

Merci cs_vychnou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de cs_vychnou
Messages postés
124
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
11 mai 2009
- 19 sept. 2006 à 11:16
0
Merci
Pour selectionner une ligne, tu as:
table.setEditingRow (rowIndex);
et
table.editCellAt (rowIndex,columnIndex);

Maintenant je ne suis pas sur du fonctionnement de ces méthodes puisqu'elles sont sensées éditer et non pas selectionner... à toi de voir je suppose que tu les connaissais déja.

Pour ce qui est de savoir quand l'utilisateur a cliqué sur le titre d'une colonne, j'utilise cette méthode, peut-être y en a t'il des meilleures vu que la je fais un calcul de coordonnées pour trouver la colonne, mais celle-ci a l'avantage de rester assez simple:

unobjet d'une de tes classes qui "implements MouseListener"

quelque part tu as:
tatable.getTableHeader().addMouseListener(unobjet);

Enfin, dans la classe d'unobjet, tu as la méthode:

public void mouseClicked(MouseEvent e) {
// si l'on a cliqué sur le header du tableau
if (e.getSource()==getTableHeader()){
// on trouve sur quelle colonne on a cliqué et l'on classe suivant cette colonne
classerColonne(getTableHeader().columnAtPoint(e.getPoint()));
}
}
Commenter la réponse de cs_vychnou
Messages postés
152
Date d'inscription
mardi 4 mai 2004
Dernière intervention
8 octobre 2008
- 19 sept. 2006 à 17:49
0
Merci
Les deux premiers ne fonctionnent pas






MyTable
.setEditingRow(2);


MyTable
.setEditingColumn(1);

MyTable.editCellAt (2,1);
fonctionne mais ce n'est pas ce que je cherche à faire, ca permet d'editer la case mais ne mets pas en surbrillance la ligne selctionnée... je galere
Commenter la réponse de omcougar
Messages postés
152
Date d'inscription
mardi 4 mai 2004
Dernière intervention
8 octobre 2008
- 20 sept. 2006 à 10:33
0
Merci
Magnifique... j'avais tenté toutes les methodes commencant pas "Set..." pas suffisament cherché
Commenter la réponse de omcougar
Messages postés
124
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
11 mai 2009
- 20 sept. 2006 à 13:36
0
Merci
Oui moi aussi j'ai beaucoup trifouillé avant de trouver... pas simple quand on cherche avec set ;-)
Commenter la réponse de cs_vychnou
Messages postés
35
Date d'inscription
mercredi 5 octobre 2005
Dernière intervention
24 octobre 2016
- 15 nov. 2007 à 18:02
0
Merci
J'ai un soucis avec le JTable...

En fait, je voudrais seulement sélectionner une ligne, mais a chaque fois que je clique sur la ligne, il me selectionne aussi la cellule (enfin, il me un cadre rectangulaire sur la cellule) Je voudrais juste sélectionner la ligne, parce que dans mon programme, seule une ligne signifie quelque chose, ensuite, qu'on se balade sur les cellule a droite et a gauche de la ligne ne sert a rien, et je trouve cela pas tres beau...

une idée???
Commenter la réponse de KeTZaLDeV

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.