⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pagecontrol.java

📁 图书管理系统
💻 JAVA
字号:
/*
 * @(#)PageControl.java 1.00 2004-9-22
 *
 * Copyright 2004 2004 . All rights reserved.
 * PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package beansoft.jsp;

/**
 * PageControl, 分页控制, 可以判断总页数和是否有上下页.
 *
 * @author beansoft
 * @version 1.00 2004-9-22
 */
public class PageControl {
    /** 每页显示记录数 */
    private int pageCount;
    /** 是否有上一页 */
    private boolean hasPrevPage;
    /** 记录总数 */
    private int recordCount;
    /** 是否有下一页 */
    private boolean hasNextPage;
    /** 最大页面数 */
    private int maxPage;
    /** 当前页码数 */
    private int currentPage;

    /**
     *
     */
    public PageControl() {
    }

    /**
     * 进行分页计算.
     */
    private void calculate() {
        if (getPageCount() == 0) {
            setPageCount(1);
        }

        maxPage = (int) Math.ceil(1.0 * getRecordCount() / getPageCount()); // 总页面数
        if (maxPage == 0)
            maxPage = 1;
//        System.out.println("currentPage=" + currentPage);
//        System.out.println("maxPage=" + maxPage);
//        // Fixed logic error at 2004-09-25
        hasNextPage = currentPage < maxPage;
        hasPrevPage = currentPage > 1;
        return;
    }

    /**
     * @return Returns the 最大页面数.
     */
    public int getMaxPage() {
    	calculate();
        return maxPage;
    }

    /**
     * @param currentPage
     *            The 最大页面数 to set.
     */
    private void setMaxPage(int maxPage) {
        this.maxPage = maxPage;
    }

    /**
     * 是否有上一页数据
     */
    public boolean hasPrevPage() {
    	calculate();
        return hasPrevPage;
   }

    /**
     * 是否有下一页数据
     */
    public boolean hasNextPage() {
    	calculate();
        return hasNextPage;
    }

    // Test
    public static void main(String[] args) {
        PageControl pc = new PageControl();
        pc.setCurrentPage(0);
        pc.setPageCount(5);
        pc.setRecordCount(7);

        System.out.println("当前页 " + pc.getCurrentPage());
        System.out.println("有上一页 " + pc.hasPrevPage());
        System.out.println("有下一页 " + pc.hasNextPage());
        System.out.println("最大页面数 " + pc.getMaxPage());
    }

    /**
     * @return Returns the 当前页码数.
     */
    public int getCurrentPage() {
        return currentPage;
    }

    /**
     * 设置当前页码, 从 1 开始.
	 * @param currentPage
     *            The 当前页码数 to set.
     */
    public void setCurrentPage(int currentPage) {
        if (currentPage <= 0) {
           currentPage = 1;
		}
        this.currentPage = currentPage;
    }

    /**
     * @return Returns the recordCount.
     */
    public int getRecordCount() {
        return recordCount;
    }

    /**
     * @param recordCount
     *            The recordCount to set.
     */
    public void setRecordCount(int property1) {
        this.recordCount = property1;
    }

    /**
     * @return Returns the 每页显示记录数.
     */
    public int getPageCount() {
        return pageCount;
    }

    /**
     * @param pageCount
     *            The 每页显示记录数 to set.
     */
    public void setPageCount(int pageCount) {
        this.pageCount = pageCount;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -