「翻页实现java」翻页的方法

博主:adminadmin 2023-01-09 09:00:07 861

今天给各位分享翻页实现java的知识,其中也会对翻页的方法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java中swing做表格翻页用什么类做

Swing中一般用JScrollPan来进行滚动,不需要使用翻页。

如果非要翻页,有两种方式:

一次检索出全部数据,放到TableModel中,这时可以设计另一个TableModel做成一个类似滑动窗口的方式,每次在窗口Model中只映射原Model的部分数据。

一次检索出一页数据,这与网页中的翻页完全相同。

对第一种情况,下面给出一个实现:

public class PageTableModel extends AbstractTableModel implements TableModel,TableModelListener{

private TableModel baseModel;

public PageTableModel(TableModel baseModel){

this.baseModel=baseModel;

baseModel.addTableModelListener(this);

}

/**当前页,从0开始编号.

*/

private int currentPage;

/**每页最多数据行数.

*/

private int pageSize=20;

/**获取总页数。

*

* @return

*/

public int getPageCount(){

int mod=baseModel.getRowCount()%pageSize;

int hasMode=mod0?1:0;

return baseModel.getRowCount()/pageSize+hasMode;

}

public int getPageSize() {

return pageSize;

}

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

}

public int getCurrentPage() {

return currentPage;

}

public void setCurrentPage(int currentPage) {

this.currentPage = currentPage;

}

@Override

public int getRowCount() {

if(getCurrentPage()getPageCount()-1)return pageSize;

return baseModel.getRowCount() % pageSize;

}

@Override

public int getColumnCount() {

return baseModel.getColumnCount();

}

@Override

public String getColumnName(int columnIndex) {

return baseModel.getColumnName(columnIndex);

}

@Override

public Class? getColumnClass(int columnIndex) {

return baseModel.getColumnClass(columnIndex);

}

@Override

public boolean isCellEditable(int rowIndex, int columnIndex) {

return baseModel.isCellEditable(getBaseModelRow(rowIndex), columnIndex);

}

@Override

public Object getValueAt(int rowIndex, int columnIndex) {

return baseModel.getValueAt(getBaseModelRow(rowIndex), columnIndex);

}

@Override

public void setValueAt(Object aValue, int rowIndex, int columnIndex) {

baseModel.setValueAt(aValue, getBaseModelRow(rowIndex), columnIndex);

}

@Override

public void tableChanged(TableModelEvent e) {

int firstRow,lastRow;

int minFirstRow=getBaseModelRow(0);

int maxFirstRow=getBaseModelRow(pageSize-1);

if(e.getFirstRow()maxFirstRow)return;

if(e.getLastRow()minFirstRow)return;

firstRow=getThisModelRow(e.getFirstRow());

if(firstRow0)firstRow=0;

lastRow=getThisModelRow(e.getLastRow());

if(lastRow0)lastRow=this.pageSize-1;

fireTableChanged(new TableModelEvent(this, firstRow, lastRow, e.getColumn(), e.getType()));

}

/**获取指定的行在底层Model中的行号.

*

* @param row

* @return

*/

private int getBaseModelRow(int row){

return getCurrentPage()*pageSize+row;

}

/**获取指定的底层Model中的行号对应的当前Model的行号.

* 如果底层Model中指定的行号不在当前Model的显示范围内,应该返回-1。

*

* @param row

* @return

*/

private int getThisModelRow(int row){

if(row/pageSize !=getCurrentPage())return -1;

return row%pageSize;

}

}

java如何实现翻页

在Java中,翻页比较头疼,下面是我写的一个实现翻页功能的类

请高手指正。

java怎么实现翻页

分页的一般思想:

1.记录总数

2.每页记录数

3.页数(可通过前两个条件算出来,你应该会的吧)

然后在页面控制好当前页的页码去后台拿你想要的数据

以上纯是思路,楼主可以参考一下,如果你想要代码,你自己去网上搜,这种例子到处都是,我就不在这里现眼了。呵。。。

JAVA基础题目:怎么样才能实现“翻页”的功能!点击【NEXT】进入下一个界面;你举个例子可诶吗啊

读取你数据库的所有记录,这是总行数,然后你规定一下没页显示几条记录,然后还要记录一下当前的页数!

比如现在一共是30记录,你页显示7条,那么就是5页。(30+7-1)/7=5,你刚进来的时候肯定是第一页,那么就把1传进来,第一页就是显示第1~第7条记录,点下一页传2进来,第二页现实低第8~14条记录!怎么去记录就要看你怎么操作了,如果你是用SQL语句的话就帮不了你了,因为不知道你用的什么数据库!如果在集合里去的话,你可以根据传入的参数来算出本页的开始记录数和结束的记录数,开始是:当前页*每页记录数-没页记录数,结束就是:当前页*没也记录数-1.因为集合的下标是从0开始的,所以要-1.

翻页实现java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于翻页的方法、翻页实现java的信息别忘了在本站进行查找喔。