public interface CancelablePrintJob extends DocPrintJob
DocPrintJob
を拡張します。印刷ジョブの取り消しが可能な場合、印刷サービスから返された DocPrintJob
実装はこのインタフェースを実装します。印刷ジョブの取り消しを試みる前に、クライアントは印刷サービスから返された DocPrintJob
オブジェクトが実際にこのインタフェースを実装しているかどうかをテストする必要があります。DocPrintJob
がこのインタフェースを実装していると想定して、クライアントが操作を実行しないようにしてください。印刷サービスは、特定の型の印刷データおよび表現クラス名の取り消しだけをサポートします。つまり、サービスから返される DocPrintJob
オブジェクトのうち、いくつかだけがこのインタフェースを実装するということです。
サービスの実装者は、このオプションインタフェースを実装し、このインタフェースの実装を使用してジョブの取り消しに成功した場合に javax.print.event.PrintJobEvent.JOB_CANCELLED イベントをリスナーに送信するようにしてください。また、印刷要求を実行したスレッドとは別のクライアントスレッドからも作成可能である点にも留意してください。このため、このインタフェースの実装を、スレッドに対して安全にする必要があります。
修飾子と型 | メソッドと説明 |
---|---|
void |
cancel()
これ以降の印刷ジョブの処理を中止します。
|
addPrintJobAttributeListener, addPrintJobListener, getAttributes, getPrintService, print, removePrintJobAttributeListener, removePrintJobListener
void cancel() throws PrintException
サービスがこのメソッドをサポートする場合、ジョブの取り消しが常に成功すると結論付けることはできません。ジョブがある処理段階に達するか、それを通過した場合には、ジョブを取り消すことができない場合があります。取り消しの成功は、ジョブがまったく印刷されないことを意味します。 取り消しが返された時点で一部が印刷されてしまっている場合もあります。
取り消しが成功しなかった場合、サービスは PrintException をスローします。未送信の印刷ジョブは、この例外をスローする必要があります。すでに取り消しに成功した印刷ジョブの取り消しはエラーとは見なされないため、常に成功します。
サービスによっては、サーバーへの要求や印刷キューの処理などのために、取り消しプロセスに時間がかかる場合があります。クライアントによっては、アプリケーションの実行に影響しないスレッドで取り消しを実行することが望ましい場合があります。
PrintException
- ジョブの取り消しが成功しなかった場合。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.