J'ai ajouté un écouteur cliqué de la souris à mon jtable, lorsque je double-clique sur la ligne, une fenêtre apparaît en conséquence.Problème de l'écouteur JTable
jTable.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
double amount = Double.parseDouble(jTable.getValueAt(getSelectedRow(), 4).toString());
String remarks = jTable.getValueAt(getSelectedRow(), 3).toString();
String transactionID = jTable.getValueAt(getSelectedRow(), 1).toString();
new EditFrame(...)
}
});
Ce code m'a permis de récupérer la rangée sélectionnée.
public int getSelectedRow() {
jTable.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent event) {
int viewRow = jTable.getSelectedRow();
selectedRow = viewRow;
System.out.println(viewRow);
}
});
return selectedRow;
}
Dans mon cas, je réalise quand je clique la deuxième ligne de la première fois, je reçois nulle pour SelectedRow, que lorsque je sélectionne première ligne puis deuxième ligne, je peux alors obtenir les données correctes. Et si j'ai enlevé l'écouteur de souris le problème alors être résolu. Est-ce parce que je fais quelque chose de mal à l'écouteur de clic de souris?
Comment l'utilisez-vous? –