Другой способ показать первую выбранную строку в JTable, которая находится внутри ScrollPane, - вручную установить то, что показывает вертикальная полоса прокрутки:
Итак, сначала получите первую выбранную строку в таблице. Если выбрано несколько строк, это все равно будет просто захватить первую строку.
int firstSelectedRow = table.getSelectedRow();
Затем найдите, где (координата Y) выбранной строки находится в таблице.
Rectangle cellLocation = table.getCellRect(firstSelectedRow, 0, false);
Наконец, мы можем сказать вертикальной полосе прокрутки, где находиться.
scrollPane.getVerticalScrollBar().setValue(cellLocation.y);
Кроме того, если выбранных строк нет, в окне просмотра будет отображаться верх таблицы.
Я бы предпочел использовать метод scrollRectToVisible (), но по какой-то причине он не работал для меня и, похоже, работает каждый раз.