Я добавил перечислитель мыши на мой jtable, когда я дважды щелкнул строку, вы откроется окно соответственно.Проблема с 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(...)
}
});
Этот код я использовал для извлечения строки, выбранной рядом.
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;
}
В моем случае, я понял, когда я нажал на вторую строку в первый раз, я получаю нуль для selectedRow, только когда я выбираю первый ряд, то второй ряд, я тогда могу получить правильные данные. И если я удалил слушателя мыши, тогда проблема будет решена. Это потому, что я делаю что-то неправильно в прослушивателе кликов мыши?
Как вы бы это применили? –