在我正在处理的 Java 项目中,我需要使用 JavaPrintable
接口向硬件打印机打印一些东西。该对象可以跨越多个页面。我已经根据http://docs.oracle.com/javase/tutorial/2d/printing/index.html课程中指定的指南转换了对象。在我的代码中,我的可打印文件跨越 2 页。在该print
方法中,我有以下代码:
// ...
if (pageIndex > amountOfPages) {
return NO_SUCH_PAGE;
}
// ...
其中amountOfPages
是我的文档跨越的页数,pageIndex
是系统在调用该print
方法时填写的参数,表示打印机正在请求该页进行打印。在打印页面内容后,
在相同的功能中,我总是以 a 结尾,return PAGE_EXISTS;
以防失败。if(...)
但是,在运行时,打印机会在第一页之后停止打印。我在每次返回之前添加了日志消息,我注意到if
子句中的返回永远不会到达,所以打印机在收到NO_SUCH_PAGE
信号之前就停止了。
如果我检查打印机的属性,它声称没有发生错误。我很困惑,我不明白为什么打印机在工作实际完成之前就停止了,或者为什么它认为工作在它完成之前就已经完成了。
有没有人看到可以指出这种行为原因的东西?
谢谢