📄 paginate.java
字号:
package com.yourcompany.util;
import java.util.ArrayList;
import java.util.Iterator;
/**
*
* @author dailin
*
*/
public class Paginate {
int currentPage = 1; // 当前页
int totalPages = 0; // 总页数
int pageRecorders = 5;// 每页5条数据
int totalRows = 0; // 总数据数
int pageStartRow = 0;// 每页的起始数
int pageEndRow = 0; // 每页显示数据的终止数
boolean hasNextPage = false; // 是否有下一页
boolean hasPreviousPage = false; // 是否有前一页
Iterator it;
// 直接跳转到第几页
public ArrayList getList1(ArrayList alllist, int currentPage) {
ArrayList list = new ArrayList();
totalRows = alllist.size();
it = alllist.iterator();
hasPreviousPage = false;
if ((totalRows % pageRecorders) == 0) {
totalPages = totalRows / pageRecorders;
} else {
totalPages = totalRows / pageRecorders + 1;
}
if ((currentPage - 1) > 0) {
hasPreviousPage = true;
} else {
hasPreviousPage = false;
}
if (currentPage >= totalPages) {
hasNextPage = false;
} else {
hasNextPage = true;
}
if (totalRows < pageRecorders) {
pageStartRow = 0;
pageEndRow = totalRows;
} else {
pageStartRow = 0;
pageEndRow = pageRecorders;
}
if (currentPage != 1) {
if (currentPage * pageRecorders < totalRows) {// 判断是否为最后一页
pageEndRow = currentPage * pageRecorders;
pageStartRow = pageEndRow - pageRecorders;
} else {
pageEndRow = totalRows;
pageStartRow = pageRecorders * (totalPages - 1);
}
}
if (totalRows > 0) {
for (int i = pageStartRow; i < pageEndRow; i++) {
list.add(alllist.get(i));
}
}
return list;
}
// 判断要显示第几页
public int seenext(int nowPage, String action) {
if (action == null || action.equals("null")) { // 第一次读取数据
currentPage = 1;
} else {
if (action == "nextPage" || action.equals("nextPage")) // 点击下一页
{
currentPage = nowPage + 1;
}
if (action == "previousPage" || action.equals("previousPage")) // 点击上一页
{
currentPage = nowPage - 1;
}
}
return currentPage;
}
/**
*
* @param alllist
* @param nowPage
* @param action
* @return
*/
// 点击上一页下一页
public ArrayList getList(ArrayList alllist, int nowPage, String action) {
ArrayList list = new ArrayList();
totalRows = alllist.size();
hasPreviousPage = false;
currentPage = seenext(nowPage, action);
list = getList1(alllist, currentPage);
return list;
}
/**
*
* @return
*/
public int getCurrentPage() {
return currentPage;
}
/**
*
* @return
*/
public int getTotalRows() {
return totalRows;
}
/**
*
* @return
*/
public int getTotalPages() {
return totalPages;
}
public boolean isHasNextPage() {
return hasNextPage;
}
public boolean isHasPreviousPage() {
return hasPreviousPage;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -