Для этого можно использовать методы getRowCount() и getValueAt()
Нужно завести переменные с кол-вом страниц и текущей страницей, затем на основании их высчитывать нужные строки из массива и их отображать
Например:
public class TestTable extends AbstractTableModel {
//Количество строк на странице
private int rowOnPages = 10;
//Текущая страница
private int currentPages;
//Количество страниц
private int countPages;
private ArrayList<String> data;
private ArrayList<String> columnHeader;
public TestTable(ArrayList<String> data, ArrayList<String> columntHeader){
countPages = data.size() / rowOnPages;
this.data = data;
this.columnHeader = columntHeader;
}
@Override
public int getRowCount() {
return rowOnPages;
}
@Override
public int getColumnCount() {
return columnHeader.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
switch (columnIndex) {
case 0:
return data.get(rowOnPages * currentPages + rowIndex);
default:
return null;
}
}
}