我意識到一個JTable具有自定義AbstractTableModel
用於實現分頁。 我想每頁顯示5項,但我有一個問題:如果我有N項顯示(N是5的倍數),一切都可以,但如果我例如有14個元素顯示,我得到一個異常。問題在於獲取每個單元格值的方法超出了限制範圍。尤其是,問題出在方法Multipage JTable:不可能顯示比行更少的項目
public Object getValueAt(int row, int col) {
int realRow = row + (pageOffset * pageSize);
return data[realRow].getValueAt(col);
}
其實
,我們有5行(0-4)和14元,但很明顯,當我們試圖獲得最後一個元素,我們這樣做:realRow = 4 + (2*5)
和清楚我有第14行沒有元素。 我該如何解決這個問題?我怎麼能告訴我的計劃,一旦到達第14檔就停止獲得價值?可能嗎?
也許你可以澄清:在你的代碼,什麼是pageOffset和pageSize?這些不是任何標準的tableModel字段,所以瞭解它們的用途將幫助我們理解您的問題。 – Colby
pageOffset是頁碼(pageOffset = 0表示0到4的項目,1表示5到9的項目,2表示10到14的項目) pageSize是每頁元素的數量(在這種情況下等於5) – Michele