void (@NotNull JTable table) { int visible = getVisibleRowCount(table); if (visible <= 0) { moveEnd(table); return; } ListSelectionModel selectionModel = table.getSelectionModel(); int step = visible - 1; int firstVisibleRow = getLeadingRow(table, table.getVisibleRect()); int top = firstVisibleRow + step; int bottom = top + visible - 1; int size = table.getModel().getRowCount(); int index = Math.min(selectionModel.getMinSelectionIndex() + step, size - 1); _scrollAfterPageMove(table, top, bottom, index); }