Quando usei o JFRAME pela primeira vez para programar, escrevi mais simples. Acabei de consultar todos os registros e depois filtrei os registros da página atual de acordo com o número atual da página. O pequeno conjunto de retorno pode ser exibido diretamente na tabela.
importar java.util.arraylist; importar java.util.list; importação com.yu.entity.User; classe pública PageController {Private List <User> biglist = new ArrayList <suser> (); // coleção grande, obtenha uma lista privada <suser> smalllist = new ArrayList <suser> (); // coleção pequena, retorne à classe que a chama privada estática int currentPageIndex = 1; // Número da página atual Private int CountPage = 10; // número de exibições para cada página private int pageCount; // Número total de páginas Private Int RecordCount; // Número total de registros // Inicialize o bloco, ao ligar para a classe, ele carregará automaticamente {// calendário o método de consultar o banco de dados e retornar uma lista this.biglist = new utils (). Query (); // Calcule o número total de páginas if (biglist.size ()%countPage == 0) {this.pageCount = biglist.size ()/CountPage; } else {this.pageCount = (biglist.size ()/countPage) +1; }} public PageController () {} // Passe o construtor do número da página especificado, veja qual página. public pageController (int currentPageIndex) {this.currentPageIndex = currentPageIndex; } // Obtenha registro exato da página atual e retorne uma lista de uma lista pública <suser> setCurentPageIndex () {return Select (); } // Próxima página Public List <suser> nextPage () {if (currentPageIndex <PageCount) {currentPageIndex ++; System.out.println ("Página atual:"+currentPageIndex); } return Select (); } // Página anterior Lista pública <suser> anteriorpage () {if (currentPageIndex> 1) {currentPageIndex--; System.out.println ("Página atual:"+currentPageIndex); } return Select (); } // Este método é para a chamada do método acima, filtre registros com base na página atual da página public <suser> select () {RecordCount = biglist.size (); for (int i = (currentPageIndex-1)*CountPage; i <currentPageIndex*CountPage && i <registroCount; i ++) {smalllist.add (biglist.get (i)); } retornar Smalllist; }}A seguir, é apresentado o conteúdo escrito no JFrame, chamando o método de paginação.
// consulta a página anterior private void jbutton8ActionPerformed (java.awt.event.actionEvent evt) {list <suser> newList = new PageController (). AnteriorPage (); Viewall (NewList); } // retorna o registro da primeira página private void jbutton10ActionPerformed (java.awt.event.actionEvent evt) {list <suser> newList = new PageController (1) .SetCurentPageIndex (); Viewall (NewList); } // Consulta a próxima página private void jbutton9actionPerformed (java.awt.event.actionEvent evt) {list <suser> newList = new PageController (). NextPage (); Viewall (NewList); } // mostra usuários na lista public void Viewall (list <suser> list) {object [] [] objetos = new Object [(list.size ())]] []; for (int i = 0; i <objetos.length; i ++) {objetos [i] = novo objeto [3]; objetos [i] [0] = i + 1; objetos [i] [1] = list.get (i) .getUserID (); objetos [i] [2] = list.get (i) .gettruename (); } jtable1.setModel (new javax.swing.table.DefaultTableModel (objetos, new String [] {"Número da linha", "Número de trabalho", "Nome"})); }O exposto acima é o método de implementação de paginar os dados em uma tabela que o editor apresentou a você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!