Lorsque j'ai utilisé JFrame pour le programme pour la première fois, je l'ai écrit plus simple. Je demande d'abord tous les enregistrements, puis j'ai filtré les enregistrements de la page actuelle en fonction du numéro de page en cours. Le petit ensemble retourné peut être affiché directement sur la table.
import java.util.arraylist; Importer java.util.list; import com.yu.entity.user; classe publique PageController {private list <ser utilisateur> bigList = new ArrayList <User> (); // Grande collection, obtenez la liste privée <ser utilisateur> smalllist = new ArrayList <User> (); // petite collection, retournez à la classe qui l'appelle privée static int currentPageIndex = 1; // Numéro de page actuel privé int countperpage = 10; // Nombre d'affichages pour chaque page private int pageCount; // Nombre total de pages private int recordCount; // Nombre total d'enregistrements // Initialiser le bloc, lors de l'appel de la classe, il chargera automatiquement {// Calendrier la méthode de requête de la base de données et renvoie une liste this.biglist = new utils (). Query (); // Calculez le nombre total de pages if (bigList.size ()% countperpage == 0) {this.pageCount = bigList.size () / countperpage; } else {this.pageCount = (bigList.size () / countperpage) +1; }} public pageController () {} // Passez dans le constructeur du numéro de page spécifié, voir quelle page. public PageController (int currentPageIndex) {this.currentPageIndex = currentPageIndex; } // Obtenez un enregistrement exact de la page actuelle et renvoyez une liste publique Liste <User> setCurentPageIndex () {return select (); } // Page suivante Liste publique <User> NextPage () {if (currentPageIndex <PageCount) {CurrentPageIndex ++; System.out.println ("Page actuelle:" + CurrentPageIndex); } return select (); } // Page précédente Liste publique <User> PREADPAGE () {if (currentPageIndex> 1) {CurrentPageIndex--; System.out.println ("Page actuelle:" + CurrentPageIndex); } return select (); } // Cette méthode concerne l'appel de méthode ci-dessus, les enregistrements de filtre basés sur la page actuelle publique <utilisateur> select () {recordCount = bigList.size (); for (int i = (currentPageIndex-1) * countperPage; i <currentPageIndex * countperpage && i <recordCount; i ++) {smalllist.add (bigList.get (i)); } return smalllist; }}Ce qui suit est le contenu écrit dans le JFrame, appelant la méthode de pagination.
// interroge la page précédente private void jbutton8Actionperformed (java.awt.event.actionEvent evt) {list <user> newList = new PageController (). PREVERPAGE (); Viewall (newList); } // Renvoie l'enregistrement de la première page private void jbutton10actionperformed (java.awt.event.actionEvent evt) {list <user> newList = new PageController (1) .SetCurentPageIndex (); Viewall (newList); } // requête la page suivante private void jbutton9actionperformed (java.awt.event.actionEvent evt) {list <user> newList = new PageController (). NextPage (); Viewall (newList); } // Afficher les utilisateurs dans la liste publique void ViewAll (list <serv> list) {objet [] [] objets = nouvel objet [(list.size ())] []; for (int i = 0; i <objets.length; i ++) {objets [i] = nouvel objet [3]; objets [i] [0] = i + 1; objets [i] [1] = list.get (i) .getUserId (); objets [i] [2] = list.get (i) .getTruename (); } jTable1.setModel (new Javax.swing.Table.defaultTableModel (objets, new String [] {"Line Number", "Work Number", "Name"})); }Ce qui précède est la méthode d'implémentation pour paginer les données dans un tableau que l'éditeur vous a introduit. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!