ページングを実装するためにカスタムAbstractTableModel
のJTableを実現しました。 私はページあたり5個のアイテムを表示したいのですが、問題があります:表示するアイテムがN個(5の倍数でN個)あればOKですが、たとえば14個の要素を表示すると、私は例外を得る。問題は、各セルの値を取得する方法が外れてしまうことです。特に問題は実際にマルチページJTable:行よりも少ない項目を表示することは不可能
public Object getValueAt(int row, int col) {
int realRow = row + (pageOffset * pageSize);
return data[realRow].getValueAt(col);
}
方法である、我々は(0〜4)、5行と14の要素を持っているが、明らかに我々は最後の要素を取得しようとすると、我々はやる:realRow = 4 + (2*5)
と明確に私が持っています行14の要素がありません。 この問題をどうやって解決できますか? 14回目のファイルに達したら、私のプログラムで値を取得するのを止める方法を教えてください。出来ますか?
に急がと思います:あなたのコードで、pageOffsetとpageSizeは何ですか?これらは標準のtableModelフィールドではありません。したがって、それらが何であるかを知ることで、あなたの問題を理解するのに役立ちます。 – Colby
pageOffsetはページ番号です(0〜4のアイテムの場合はpageOffset = 0、5〜9のアイテムの場合は1、10〜14のアイテムの場合は2) pageSizeはページあたりの要素の数です(この場合、5に等しくなります) – Michele