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

SoGeek Messages postés 193 Statut Membre -  
SoGeek Messages postés 193 Statut Membre -
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.

4 réponses

  1. scriptiz Messages postés 1494 Statut Membre 425
     
    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
  2. SoGeek Messages postés 193 Statut Membre 18
     
    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
  3. scriptiz Messages postés 1494 Statut Membre 425
     
    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
  4. SoGeek Messages postés 193 Statut Membre 18
     
    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