Проблема слушателя JTable

Я добавил, что мышь нажала listner к моему 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, только когда я выбираю первую строку затем вторая строка, я затем могу получить корректные данные. И Если я удалил слушателя мыши проблема затем быть решенным. Это потому что я делающий что-то не так в слушателе щелчка мышью?

5
задан BalusC 29 May 2010 в 15:59
поделиться

2 ответа

Если вы просто хотите знать, какая строка была нажата, вам не нужен прослушиватель выбора. Просто используйте:

table.rowAtPoint();
4
ответ дан 15 December 2019 в 06:17
поделиться

Вы делаете это неправильно. Полностью удалите текущий метод getSelectedRow () и никогда не пытайтесь кодировать что-то подобное. Вот лучшая версия:

jTable.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
int selectedRow = jTable.getSelectedRow();
double amount = Double.parseDouble(jTable.getValueAt(selectedRow, 4).toString());
String remarks = jTable.getValueAt(selectedRow, 3).toString();
String transactionID = jTable.getValueAt(selectedRow, 1).toString();
        new EditFrame(...)
}
});
-1
ответ дан 15 December 2019 в 06:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: