Ответ 1
Посмотрите на событие, которое передается вашему слушателю, в частности
ListSelectionEvent.getValueIsAdjusting()
выполнять любые операции, которые вы хотите сделать, когда это возвращает false.
Нормально ли, что любые изменения в выбранной строке JTable
будут запускать добавленный ListSelectionListener
дважды?
Возможно ли, что ListSelectionListener
можно запустить только один раз?
Посмотрите на событие, которое передается вашему слушателю, в частности
ListSelectionEvent.getValueIsAdjusting()
выполнять любые операции, которые вы хотите сделать, когда это возвращает false.
ListSelectionEvent.getValueIsAdjusting()
будет работать как комментарий @MeBigFatGuy.
Аналогичный пример:
if(!e.getValueIsAdjusting()){
String selectedData = null;
int selectedRow = table.getSelectedRow();
int selectedColumns = table.getSelectedColumn();
for (int i = 0; i <= selectedRow; i++) {
for (int j = 0; j <= selectedColumns; j++) {
selectedData = (String) table.getValueAt(selectedRow, selectedColumns);
}
}
System.out.println("Selected: " + selectedData);
}
он будет запущен только один раз.