私が最初にJFrameをプログラムして使用したとき、私はそれをより簡単に書きました。最初にすべてのレコードを照会し、現在のページ番号に従って現在のページのレコードをフィルタリングしました。返された小さなセットは、テーブルに直接表示できます。
java.util.arraylistをインポートします。 java.util.listをインポートします。 com.yu.entity.userをインポートします。パブリッククラスPageController {private list <user> biglist = new arraylist <user>(); //大規模なコレクション、プライベートリストを取得<user> smallList = new ArrayList <user>(); //小さなコレクション、それをプライベートstatic int currentPageIndex = 1と呼ぶクラスに戻ります。 //現在のページ番号プライベートint countperpage = 10; //各ページのディスプレイ数Private Int PageCount。 // Pageの総数Private int RecordCount; //レコードの総数//ブロックを初期化するには、クラスを呼び出すと、自動的にロードされます{//データベースをクエリする方法をカレンダーに、biglist = new utils()。query(); //ページの総数を計算します。 } else {this.pagecount =(biglist.size()/countperpage)+1; }} public pagecontroller(){} //指定されたページ番号のコンストラクターを渡し、どのページを参照してください。 public PageController(int CurrentPageIndex){this.currentPageIndex = currentPageIndex; } //現在のページの正確なレコードを取得し、リストを返す公開リスト<user> setCurentPageIndex(){return Select(); } //次のページpublic List <user> nextPage(){if(currentPageIndex <PageCount){currentPageIndex ++; System.out.println( "現在のページ:"+currentPageIndex); } return select(); } //前のページpublic list <user> previouspage(){if(currentPageIndex> 1){currentPageIndex--; System.out.println( "現在のページ:"+currentPageIndex); } return select(); } //このメソッドは、上記のメソッド呼び出し用であり、現在のページパブリックリストに基づくフィルターレコード<user> select(){recordcount = biglist.size(); for(int i =(currentPageIndex-1)*countPerpage; i <currentPageIndex*countPerpage && i <recordCount; i ++){smalllist.add(biglist.get(i)); } smallリストを返します。 }}以下は、jframeで書かれたコンテンツで、ページネーション方法を呼び出します。
//前のページを照会Private void jbutton8Actionperformed(java.awt.event.actionEvent evt){list <user> newList = new PageController()。 viewall(newlist); } //最初のページのレコードを返すprivate void jbutton10Actionperformed(java.awt.event.actionevent evt){list <user> newlist = new PageController(1).SetCurentPageIndex(); viewall(newlist); } //次のページを照会Private void jbutton9actionperformed(java.awt.event.actionevent evt){list <user> newList = new PageController()。nextPage(); viewall(newlist); } // list public void viedall(list <user> list){object [] [] objects = new object [(list.size())] [] []; for(int i = 0; i <objects.length; i ++){objects [i] = new object [3];オブジェクト[i] [0] = i + 1;オブジェクト[i] [1] = list.get(i).getuserid();オブジェクト[i] [2] = list.get(i).gettruename(); } jtable1.setModel(new javax.swing.table.defaultTableModel(objects、new String [] {"line number"、 "work number"、 "name"}); }上記は、編集者が紹介したテーブルにデータをページングする実装方法です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!