java - 分页问题

标签 java graphics pagination

我这里有一些用于打印的代码,可以从数组中每页打印一个信息 block 。

    double x = pf.getImageableX() + 1;
    double y = pf.getImageableY();
    double xMax = pf.getImageableWidth();
    double yMax = pf.getImageableHeight();

    if ((pageIndex < generation.length)) {
    //Graphics code
    y += (height of index) + 10;
    return PAGE_EXISTS; 
} else {
    return NO_SUCH_PAGE;
}
}

我想让索引不断增加,每页打印更多对象,直到 y 超过 yMax。那时,y 将重置,我可以继续在下一页上打印对象。

然而,print() 方法本身是递归的;因此,如果我尝试引入 for 循环,它只会一遍又一遍地打印相同的条目,直到 (pageIndex < Generation.length)。

当 y > yMax 时,如何打印新页面,同时还能够打印数组中的所有元素?

最佳答案

我不完全理解你的递归是如何工作的。也许看到这些电话会有帮助。

如果此时 pageIndex 代表您所在的页面以及您在数组中的位置,则需要将其拆分。

int page; //what page you are on
int pageIndex; //where the element is on the page
int index; //where you are up to in the array

您将需要另一个案例来了解您是否仍在该页面上或该页面是否已完成。

if ((index < generation.length)) {
//Graphics code
y += (height of pageIndex) + 10;
    if(y > yMax){
        y = 0;
        pageIndex = 0;
        page++;
        return PAGE_EXISTS; 
    } else {
        pageIndex++;
        return PAGE_NOT_FULL; 
    }
} else {
    return NO_SUCH_PAGE;
}

这可能不是您正在寻找的内容,但这是我根据您的代码片段做出的最佳猜测。

关于java - 分页问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10645252/

相关文章:

java - 如何从 Twitter API Java JSON 获取所有 url 照片

graphics - 找到在彩色表面上绘制的文本的最易读的颜色

php - 启用 SEO 时分页在 opencart 中不起作用

java - 通过 faces-config.xml 确定 SelectItem 数组值

java - Apache Commons Lang 异常

javascript - 使用 d3.min 的 D3 的域问题

mysql - CakePHP - 使用 Paginator Helper 的虚拟字段问题

java - 在网页中使用分页真的有任何性能优势吗?

java - PDF人群 'Missing artifact'

python - 如何在 Python 的 matplotlib 中设置 'backend'?