为什么使用相同的页码多次调用java Printable的打印方法?

前端之家收集整理的这篇文章主要介绍了为什么使用相同的页码多次调用java Printable的打印方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
sun’s documentation

“打印系统可能会要求在转到下一页之前多次渲染页面.”

示例总是显示如下:

Printable print(Graphics g,PageFormat pageFormat,int page) {
    if (page == 0)
      do...
    else if(page == blah...)
}

如果你遵循这种模式,你的代码通常工作正常,因为它是基于页码显式的.没有遵循这种模式让我很痛苦,直到我意识到它被多次调用相同的页码,并开始缓存页面.

为什么使用相同的页码多次调用java Printable的打印方法

解决方法

Java打印系统受到底层OS打印系统的怜悯,该系统可能会要求多次渲染单页.

一个原因是带状打印 – 如果打印机没有足够的内存来一次渲染整个页面 – 在这种情况下,操作系统将再次向Java请求页面,以便它可以打印页面(“带” ).这是Java 2D程序员指南“Printing Concepts”一节中提到的具体情况.

可能有其他原因;这完全取决于操作系统的打印系统.

猜你在找的Java相关文章