Я никогда не использовал TableRowListener, который, кажется, имеет только событие itemChanged
. Я обычно придерживаюсь стандартных качелей. Добавьте слушателя мыши в таблицу, выберите местоположение события щелчка и обработайте его.
jTable.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
Point p = new Point(evt.getX(), evt.getY());
int col = jTable.columnAtPoint(p);
int row = jTable.rowAtPoint(p);
if (evt.getButton() == MouseEvent.BUTTON1)
{
if (evt.getClickCount() >= 2)
{
...
...
}
});
Редактировать
Настройка TableRowSorter :
TableRowSorter<YourJTableModel> sorter =
new TableRowSorter<YourJTableModel>(yourJTableModel);
jTable.setRowSorter(sorter);
Поскольку вы меняете порядок строк, вам нужно будет использовать convertColumnIndexToModel
чтобы получить правильные данные модели для вида.
Для более сложных задач сортировки / фильтрации вы можете попробовать застекленные списки .