-
public interface Printable
Printable
インタフェースは、ページを描画する印刷システムによって呼び出される、現在のページ・ペインタのprint
メソッドによって実装されます。Pageable
を構築する場合は、PageFormat
のインスタンスと、このインタフェースを実装するインスタンスのペアを使用して各ページを記述します。Printable
を実装するインスタンスは、ページのグラフィックを印刷するために呼び出されます。PrinterJob
にPrintable(..)
を設定できます。 その後、クライアントがPrinterJob.print(..)
を呼び出して印刷をトリガーすると、すべてのページが印刷されるまで、制御が印刷システムに渡されます。 これはドキュメントのすべてのページが印刷されるまで、
Printable.print(..)
を呼び出すことによって実行します。Printable
インタフェースを使用すると、印刷システムによって要求されればいつでも、ページの内容が描画されます。Printable.print(..)
のパラメータには、ページに収める内容の計算に必要な、ページの印刷可能領域を示すPageFormat
、および要求されたページの0を基準にした印刷ストリーム・インデックスを指定するページ・インデックスがあります。正しく印刷するため、次の点に注意する必要があります。
- 印刷システムが複数回ページを要求することがあります。 そのたびに等しいPageFormatパラメータが指定されます。
- 印刷システムは単調に増加していくページ・インデックスを使用して
Printable.print(..)
を呼び出します。ただし、上記のようにPrintable
は、ページ範囲がクライアント、または印刷ダイアログを通じてユーザーによって指定されている場合に、ページ・インデックスの複数の呼出しを予想し、ページ・インデックスがスキップされている可能性があることを予想する必要があります。 - 複数の照合コピーのドキュメントが要求され、プリンタがネイティブにこれをサポートできない場合、ドキュメントは複数回描画されることがあります。 最小の印刷ストリーム・ページ・インデックス・ページから各コピーの印刷が開始されます。
- 複数の照合コピーのドキュメント全体の再描画を除いて、ページ・インデックス順の増加は、クライアントがページ区切り位置を計算する必要がある場合に、ページNが要求された場合、N未満のページに関するすべての状態を破棄し、ページNの状態を最新にしても構わないことを意味します。 「状態」は通常、ページの開始に対応するドキュメント内の計算された位置にすぎません。
- 印刷システムによって呼び出された場合、
Printable
は指定されたPageFormatパラメータとページ・インデックスを検査し、受け取る必要があります。 描画されるページの書式は、pageFormatで指定します。 そのため、ページのサイズ、印刷方向、イメージング可能領域はすでに決定していて、描画はこのイメージング可能領域内で行われる必要があります。 これは、正しく印刷するために重要であり、クライアントが指定されたページに属する内容を追跡する役割を持つことを暗黙的に示しています。 - クライアントが指定した
Pageable
からPrintable
を取得した場合、クライアントはページ・インデックスごとに異なるPageFormatsを指定することができます。 ページ区切りの計算ではこれを考慮する必要があります。
- 関連項目:
Pageable
,PageFormat
,PrinterJob
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static int
NO_SUCH_PAGE
pageIndex
が大き過ぎるため要求されたページが存在しないことを通知するためにprint
メソッドによって返されます。static int
PAGE_EXISTS
要求ページが描画されたことを通知するためにprint(Graphics, PageFormat, int)
から返されます。
-
メソッドのサマリー
修飾子と型 メソッド 説明 int
print(Graphics graphics, PageFormat pageFormat, int pageIndex)
指定されたインデックスにあるページを、指定された書式で、指定されたGraphics
コンテキストに印刷します。
-
-
-
フィールドの詳細
-
PAGE_EXISTS
static final int PAGE_EXISTS
要求ページが描画されたことを通知するためにprint(Graphics, PageFormat, int)
から返されます。- 関連項目:
- 定数フィールド値
-
NO_SUCH_PAGE
static final int NO_SUCH_PAGE
pageIndex
が大き過ぎるため要求されたページが存在しないことを通知するためにprint
メソッドによって返されます。- 関連項目:
- 定数フィールド値
-
-
メソッドの詳細
-
print
int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException
指定されたインデックスにあるページを、指定された書式で、指定されたGraphics
コンテキストに印刷します。PrinterJob
はPrintable
インタフェースを呼び出して、graphics
で指定されたコンテキストにページが描画されるように要求します。 描画されるページの書式は、pageFormat
で指定します。pageIndex
では、描画されるページのゼロから始まるインデックスを指定します。 指定されたページが存在しない場合、このメソッドはNO_SUCH_PAGEを返します。存在する場合は、PAGE_EXISTSが返されます。Graphics
クラスまたはサブクラスは、PrinterGraphics
インタフェースを実装して追加情報を提供します。Printable
オブジェクトが印刷ジョブを中断した場合は、PrinterException
がスローされます。- パラメータ:
graphics
- ページが描画されるコンテキストpageFormat
- 描画されるページのサイズと印刷方向pageIndex
- 描画されるページのゼロから始まるインデックス- 戻り値:
- ページの描画に成功した場合はPAGE_EXISTS、
pageIndex
で指定されたページが存在しない場合はNO_SUCH_PAGE。 - 例外:
PrinterException
- 印刷が中断された場合。
-
-