|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2005
Messaggi: 342
|
[JAVA] Evento particolare su due jtable
Ho 2 jtable contenenti dei dati, le cui righe rappresentano informazioni per la stessa persona. Vorrei che quando clicco su una riga (ad esempio la seconda) della jtable1 mi si evidenziasse anche la stessa riga della jtable2 e viceversa.....E' possibile??
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Sì. Quello che fai è metterti in ascolto per gli eventi di selezione generati dalla prima tabella in modo tale da sapere quanto selezioni un riga. A quel punto vai a selezionare la corrispondente riga dell'altra tabella. Quale sia la riga corrispondente dipende ovviamente dalla struttura delle due tabelle. Probabilmente dovrai andare a cercare nella seconda tabella la riga avente come valore in una determinata cella un certo identificatore.
Per catturare gli eventi di selezione di una JTable table: Codice:
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if(!e.geValueIsAdjusting()) {
int rigaSelezionata = e.getFirstIndex();
//e qui vai a cercare il corrispondente di questa riga nell'altra tabella
}
}
});
Codice:
table.setSelectionModel().setSelectionRange(riga, riga);
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2005
Messaggi: 342
|
grazie perchè sei riuscito ad ispirare la soluzione che ho trovato che è leggermente diversa (e più corta!). Io utilizzo netbeans+interfaccia swing quindi ho utilizzato l'evento mouse clicked della tabella ed al suo interno ho messo:
Codice:
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
int riga=jTable1.getSelectedRow();
jTable2.setRowSelectionInterval(riga, riga);
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:03.



















