私が取り組んでいる Java プロジェクトでは、JavaPrintable
インターフェイスを使用してハードウェア プリンターに何かを印刷する必要があります。オブジェクトは複数のページにまたがることができます。http://docs.oracle.com/javase/tutorial/2d/printing/index.htmlレッスンで指定されたガイドラインに従ってオブジェクトを変換しました。私のコードでは、私の印刷可能ファイルは 2 ページにまたがっています。メソッドにはprint
、次のコードがあります。
// ...
if (pageIndex > amountOfPages) {
return NO_SUCH_PAGE;
}
// ...
whereamountOfPages
はドキュメントがまたがるページ数でありpageIndex
、メソッドを呼び出すときにシステムによって入力されるパラメーターでありprint
、プリンターが印刷目的でそのページを要求していることを示します。同じ関数のさらに下では、ページの内容を印刷した後、失敗した場合に
備えて常に a で終了します。return PAGE_EXISTS;
if(...)
ただし、実行時に、プリンターは最初のページの後で印刷を停止します。すべての return の前にログ メッセージを追加しましたが、句内の return にif
到達していないことに気付きました。そのため、シグナルを受け取る前にプリンターが停止しNO_SUCH_PAGE
ます。
プリンターの属性を確認すると、エラーは発生していないと表示されます。私はかなり困惑しており、ジョブが実際に完了する前にプリンターが停止する理由、またはジョブが実際に完了する前に完了したと見なされる理由がわかりません。
この動作の理由を指摘できる何かを見た人はいますか?
ありがとう