Это нормально, что любые изменения в выбранной строке JTable вызовут добавление ListSelectionListener дважды?
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); }
будет срабатывать только один раз.