[Java] Données des valeurs des cellules d'une

Fermé
SoGeek Messages postés 183 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 15 janvier 2012 - 16 avril 2010 à 16:37
SoGeek Messages postés 183 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 15 janvier 2012 - 16 avril 2010 à 19:44
Bonjour ,
Je vous explique mon problème

- Dans mon onglet "Historique", j'ai un tableau avec 3 colonnes.
- J'arrive à afficher la valeur de la cellule que je selectionne avec la souris grace à :

int ligne = table.getSelectedRow();
int colonne = table.getSelectedColumn();
Object cellule = table.getValueAt(ligne, colonne);
System.out.println(ligne);



- Mais moi j'aimerai que quand je séléctionne n'importe quelle cellule de la ligne de mon tableau, cela m'affiche les valeurs des 3 cellules de la ligne séléctionnée grace à la souris.
(plus éxactement quand je séléctionne avec la souris la ligne, et que je clique sur le bouton "Information", cela m'affiche les valeurs des cellules de la lignes sous forme de 3 String (de manière à pouvoir les réutiliser tout le long du code, car j'en aurai besoin.))
Merci d'avance à ceux qui s'intéresseront à ce sujet.

SoGeek,

Bonne journée/soirée.
A voir également:

4 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
16 avril 2010 à 18:31
As-tu essayé comme ceci :

int ligne = table.getSelectedRow();  // on s'en fou ^^
int colonne = table.getSelectedColumn();

String ligne = "";
for(int i = 0; i < table.getRowCount(); i++)
{
    Object cellule = table.getValueAt(i, colonne);
    ligne += cellule + "\t";
}
System.out.println(ligne);


Si ça ne fonctionne pas avec cette boucle for change là comme suit :
for(int i = 1; i <= table.getRowCount(); i++)


Car je ne sais plus trop si les index des lignes comment à 0 ou a 1...

Voilà donne nous des nouvelles.
0
SoGeek Messages postés 183 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 15 janvier 2012 18
Modifié par SoGeek le 16/04/2010 à 18:58
Meme là tu viens me répondre :P
Non en fait c'est tout simple :
 HC.addActionListener(new ActionListener(){ 
 public void actionPerformed(ActionEvent arg0) { 
      
int ligne = table.getSelectedRow(); 
Object cellule1 = table.getValueAt(ligne, 0); 
Object cellule2 = table.getValueAt(ligne, 1); 
Object cellule3 = table.getValueAt(ligne, 2); 
System.out.println(cellule1 + " | " + cellule2 + " | " + cellule3); 


:)
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
Modifié par scriptiz le 16/04/2010 à 19:36
Héhé je ne suis omniprésente :P

Sinon ma méthode ne fonctionne pas? ^^

Car son avantage c'est que si tu as plus de 3 colonnes ça te fournis tout de même toutes les colonnes de la ligne en question grâce à la boucle for et au table.getRowCount() (que tu dois en fait remplacer par getColumnCount() j'avais zappé désolée ^^).

"The most successful method of programming is to begin a program as simply as possible, test it, and then add to the program until it performs the required job." -- PDP8 handbook, Pg 9-64
0
SoGeek Messages postés 183 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 15 janvier 2012 18
16 avril 2010 à 19:44
Héhé,
Mais comme j'ai que 3 colonnes, et que je connais le nombre de colonnesque j'ai, autant faire simple, mais si non ta méthode doit marcher ... comme toujours :D
0