模块 java.desktop

接口 CancelablePrintJob

所有父级接口:
DocPrintJob

public interface CancelablePrintJob extends DocPrintJob
打印应用程序使用此接口取消打印作业。该接口扩展了 DocPrintJob 。如果可以取消打印作业,则从打印服务返回的 DocPrintJob 实现会实现此接口。在尝试取消打印作业之前,客户端需要测试从打印服务返回的 DocPrintJob 对象是否实际实现了该接口。客户端永远不应该假设 DocPrintJob 实现了这个接口。打印服务可能仅支持取消某些类型的打印数据和表示类名称。这意味着只有一些从服务返回的 DocPrintJob 对象会实现这个接口。

鼓励服务实现者实现此可选接口,并在通过此接口的实现成功取消作业时向任何监听器传递 PrintJobEvent.JOB_CANCELED 事件。服务还应注意,与发出打印请求的线程不同,此方法的实现可能是从一个单独的客户端线程进行的。因此这个接口的实现必须是线程安全的。

  • 方法详情

    • cancel

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

      如果服务支持此方法,则无法断定作业取消将始终成功。作业一旦达到并超过其处理过程中的某个点,就可能无法取消。取消成功仅表示整个作业未打印,取消返回时可能部分已打印。

      如果取消不成功,该服务将抛出 PrintException。尚未提交打印的作业应抛出此异常。取消已经成功取消的打印作业不会被视为错误并且总是会成功。

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

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