2010-12-15 89 views
0

Je recherche le codage en Java pour réaliser la liste des éléments et l'utilisateur peut en sélectionner un en cliquant sur un élément. La façon dont j'ai choisi estUne question sur la façon correcte d'utiliser ListSelectionListener dans un JTable

1). J'ai déclaré un objet de type DefaultTableModel et défini les 7 identificateurs de colonne.

2). Alors je viens en boucle dans ma liste d'objets (qui est de type NodeList), l'analyse syntaxique chacun d'eux et le transformer en un tableau et en ajoutant à la ligne de cette table en appelant:

model.addRow(myArray); 

3). Après cela, je créé un nouveau JTable, et ajouté mon modèle et avec l'appose GUI:

table = new JTable(model); 
JScrollPane scrollpane = new JScrollPane(table); 
panel.add(scrollpane); 

4). C'est l'étape où je suis coincé. En appelant l'API du JTable, j'ai réussi à obtenir une instance de ListSelectionModel et attacher un auditeur à lui:

table.getSelectionModel().addListSelectionListener 
(
    new ListSelectionListener() 
{ 
     public void valueChanged(ListSelectionEvent event) 
     { 
     int viewRow = table.getSelectedRow(); 

Je ne parvenais à arriver, qui est l'indice de la ligne, mais ce que je suis vraiment essayer obtenir est la valeur de ces identifiants de cette ligne particulière. Supposons que mes identifiants sont {"ID", "HREF", "Hauteur", "Largeur", "Produit", "Type", "Légende"}, je serai très reconnaissant si vous pouviez m'aider à la prochaine étape sur l'obtention de la valeur de l'un de ces 7 identifiants de cette ligne sélectionnée.

Merci d'avance!

Répondre

2

Si vous voulez juste une valeur particulière d'une ligne que vous pouvez appeler:

table.getValueAt (ligne, colonne);

Où row est votre viewRow, et col est l'index des identifiants ci-dessus (donc 0 serait ID, 2 serait Height, etc).

Plus de détails sur le JTable JavaDocs