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

Résolu
sarahjtm Messages postés 29 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 15 janvier 2012 - 16 avril 2010 à 16:40
sarahjtm Messages postés 29 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 15 janvier 2012 - 16 avril 2010 à 18:57
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 avril 2010 à 17:03
Salut,

Il te suffit d'ajouter un ListSelectionListener au model de ton JTable.

Voicile tutoriel officiel de sun à ce sujet.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 avril 2010 à 18:20
Salut,

Si c'est uniquement au clic du bouton, le lien que je t'ai passé ne sert à rien : c'est pour gérer la sélection d'une ligne.

C'est tout simple en fait
HC.addActionListener(new ActionListener(){
 public void actionPerformed(ActionEvent arg0) {

  int ligne = table.getSelectedRow();
  Object cellule1 = table.getValueAt(ligne, 1);
  Object cellule2 = table.getValueAt(ligne, 2);
  Object cellule3 = table.getValueAt(ligne, 3);
  System.out.println(cellule1 + " | " + cellule2 + " | " + cellule3);

 }
});

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
sarahjtm Messages postés 29 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 15 janvier 2012 4
16 avril 2010 à 18:00
Bonjour DarkSidious,
d'abord merci pour ta réponse,
Mais j'avais déjà lu cette doc, mais sans succés ,
Je crois que je me suis mal exprimé ,

Dans mon onglet j'ai un Tableau de 3 colonnes, et en bas un bouton information, donc avec

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


Quand je séléctionnais une cellule, et que je cliquais sur le bouton, il m'affiché ce qu'il y avait dans la cellule.
Donc j'aimerai que par exemple ma ligne qui contient 3 cellules dont les valeurs sont :

198.25.26.24:20715 | Password | Le 16/04/2010


Imaginons que je séléctionne "198.25.26.24:20715", dans la console j'aimerai voir apparaitre,
198.25.26.24:20715
Password
Le 16/04/2010


et imaginons que je selectionne "Password", dans la console j'aimerai voir apparaitre
198.25.26.24:20715
Password
Le 16/04/2010


Donc les valeurs des cellules de la ligne quelque soit la cellule séléctionnée,
voici mon bloc de code :

DefaultTableModel dm = new DefaultTableModel();
dm.setDataVector(
new Object[][] { { "198.25.26.24:20715", "Password", "Le 16/04/2010" } },	\\ Les données Object[][] sont des examples.
new Object[] { "Connexion à", "Password :", "le " }); 

final JTable table = new JTable(dm);
panel3.add(table);
JScrollPane scroll = new JScrollPane(table);
panel3.add(scroll);
table.getTableHeader().setReorderingAllowed(false); 
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);


HC = new JButton ("Information de la ligne.");
panel3.add(HC);
HC.addActionListener(this);
HC.setBounds(148, 410, 180, 30) ;

HC.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {

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


}
});



et le reve serait d'avoir tout ceci en 3 String (un pour chaque valeur de cellule)

Merci d'avance,

SoGeek,

& Bonne soirée !
0
sarahjtm Messages postés 29 Date d'inscription mercredi 1 octobre 2008 Statut Membre Dernière intervention 15 janvier 2012 4
16 avril 2010 à 18:57
Merci beaucoup !
0
Rejoignez-nous