「翻页实现java」翻页的方法
今天给各位分享翻页实现java的知识,其中也会对翻页的方法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中swing做表格翻页用什么类做
- 2、java如何实现翻页
- 3、java怎么实现翻页
- 4、JAVA基础题目:怎么样才能实现“翻页”的功能!点击【NEXT】进入下一个界面;你举个例子可诶吗啊
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的信息别忘了在本站进行查找喔。