페이징 툴 클래스 페이지

3942 단어
페이지 나누기 도구류를 만들려고 예전에 인터넷에 코드를 넣어서 가져오려고 했어요.
그 결과 엉망진창으로 쓰여 있는 것을 보고 그것을 몽땅 다시 썼다.
 package com.pingan.pa18.red.utils;
public class Page {
    private int pageSise = 15;//        
    private int pageContent; //      
    private int totalPage; //    
    private int startSize; //     
    private int endSize; //     
    private int totalCounts; //   
    public int getEndSize() {
        return endSize;
    }
    public void setEndSize(int endSize) {
        this.endSize = endSize;
    }
    public int getPageContent() {
        return pageContent;
    }
    public void setPageContent(int pageContent) {
        if(pageContent > totalPage)
            pageContent = totalPage ;
        this.pageContent = pageContent;
        setPageall();
    }
    public int getPageSise() {
        return pageSise;
    }
    public void setPageSise(int pageSise) {
        this.pageSise = pageSise;
    }
    public int getStartSize() {
        return startSize;
    }
    public void setStartSize(int startSize) {
        this.startSize = startSize;
    }
    public int getTotalPage() {
        return totalPage;
    }
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }
    public Page(int pageSize, int totalCounts) {
        pageSise = pageSize;
        this.totalCounts = totalCounts;
        
        setPageContent(0);
        setPageall();
        
    }
    private void setPageall() {
        if (totalCounts <= 0) {
            totalPage = 0 ;
        } else if (totalCounts > 0 && totalCounts % pageSise > 0) {
            totalPage = totalCounts / pageSise  + 1 ;
        } else if (totalCounts > 0) {
            totalPage = totalCounts / pageSise;
        }
        if (totalCounts == 0) {
            setStartSize(0);
            setEndSize(0);
        } else if (pageContent - 1 <= 0 && totalPage > 0) {
            pageContent = 1;
            startSize = 0 ;
            endSize = 1 * pageSise ;
        } else if (pageContent >= totalPage && totalPage > 0) {
            pageContent = totalPage ;
            startSize = (totalPage - 1) * pageSise + 1;
            endSize = totalPage * pageSise;
            if(endSize > totalCounts){
                endSize = totalCounts;
            }
        } else if (totalCounts > 0) {
            startSize = (pageContent - 1) * pageSise + 1;
            endSize = pageContent * pageSise;
            if(endSize > totalCounts){
                endSize = totalCounts;
            }
        }
    }
    @Override
    public String toString() {
        return "Page [pageSise=" + pageSise + ", totalCounts=" + totalCounts + ", " + "pageContent=" + pageContent + ", totalPage=" + totalPage + ", startSize=" + startSize
                + ", endSize=" + endSize + "]";
    }
    public static void main(String args[]) {
        Page p = new Page(20 , 99);
      
        System.out.println(p);
        
        p.setPageContent(1);
        System.out.println(p.getPageContent());
        System.out.println(p.getStartSize());
        System.out.println(p.getEndSize());
        p.setPageContent(5);
        System.out.println(p.getPageContent());
        System.out.println(p.getStartSize());
        System.out.println(p.getEndSize());
    }
}

좋은 웹페이지 즐겨찾기