javax.print

接口
异常
所有超级接口:
DocPrintJob

public interface CancelablePrintJob
     
extends DocPrintJob

打印应用程序使用此接口来取消打印作业。此接口扩展了 DocPrintJob。如果打印作业是可取消的,则从 PrintService 所返回的 DocPrintJob 实现来实现此接口。尝试取消某个打印作业之前,客户端需要测试 PrintService 所返回的 DocPrintJob 对象是否实际上实现了此接口。客户端永远不应假定 DocPrintJob 实现了此接口。PrintService 可能仅支持取消某类打印数据和表示形式类名。这意味着只有 PrintService 返回的某些 DocPrintJob 对象才实现此接口。

如果使用此接口的实现成功地取消了某个作业,则鼓励服务实现程序实现此可选接口,并且向所有侦听器传递 javax.print.event.PrintJobEvent.JOB_CANCELLED 事件。服务还应注意,此方法的实现可能是通过单独的客户端线程完成的,而不是发出打印请求的线程完成的。因此,此接口的实现必须是线程安全的。


方法摘要
 void cancel()
          停止对打印作业的进一步处理。
 
从接口 javax.print.DocPrintJob 继承的方法
addPrintJobAttributeListener, addPrintJobListener, getAttributes, getPrintService, print, removePrintJobAttributeListener, removePrintJobListener
 

方法详细信息

cancel

void cancel()
            throws PrintException
停止对打印作业的进一步处理。

即使某个服务支持此方法,也不能断定作业取消总是能够成功。一旦作业到达或经过其处理过程中的某个点,就无法再取消该作业了。成功的取消仅意味着未打印整个作业,但是在取消返回时可能已经打印完成部分作业。

如果取消不成功,则该服务抛出 PrintException。尚未提交进行打印的作业应该抛出此异常。对已经成功取消的打印作业再执行取消不视为错误,并且总是可以成功。

在某些服务中,取消可能是一个很长的过程,这涉及对服务器的请求和对其打印队列的处理。客户端可能希望在不影响应用程序执行的线程中执行取消。

抛出:
PrintException - 如果无法成功取消该作业。