omcougar
Messages postés152Date d'inscriptionmardi 4 mai 2004StatutMembreDernière intervention 8 octobre 2008
-
19 sept. 2006 à 10:23
KeTZaLDeV
Messages postés35Date d'inscriptionmercredi 5 octobre 2005StatutMembreDernière intervention24 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.
cs_vychnou
Messages postés124Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention11 mai 200918 19 sept. 2006 à 18:12
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
cs_vychnou
Messages postés124Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention11 mai 200918 19 sept. 2006 à 11:16
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()));
}
}
omcougar
Messages postés152Date d'inscriptionmardi 4 mai 2004StatutMembreDernière intervention 8 octobre 20081 19 sept. 2006 à 17:49
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
KeTZaLDeV
Messages postés35Date d'inscriptionmercredi 5 octobre 2005StatutMembreDernière intervention24 octobre 2016 15 nov. 2007 à 18:02
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...