目次|
前|
次
Docを作成するには、Docインタフェースの実装を提供する必要があります。Java印刷サービスAPIには、SimpleDocと呼ばれるDocが実装されています。アプリケーションでは、SimpleDocの実装を使用する必要はありません。ただし、Docに準拠するために、すべてのDoc実装はSimpleDocの実装と同じセマンティックスに準拠する必要があります。
- すべてのDoc実装が、Docインタフェースの5つのすべてのメソッドを実装する必要がある。
- Doc実装は、複数のスレッドがDocオブジェクトにアクセスできるようにする必要がある。
- Docメソッドは、呼び出されるたびに、同じオブジェクトを返す。つまり、新しいストリームは返さない。入力ストリームが1つだけなので、Docのコンシューマは1つしか存在しない。
- Docは、要求された場合、サービスのストリームを返す
- Docは、データの種類がドキュメント・フレーバに一致するかどうかをチェックする
- getAttributesから返された属性は常に、印刷メソッドで渡された属性をオーバーライドする。
Docを作成する前に、ファイルからドキュメントをロードする必要があります。DocFlavorの表現クラスによって、ファイルからドキュメントをロードする方法が決まります。この例の表現クラスは、InputStreamです。
FileInputStream fis = new FileInputStream("java2dlogo.gif");
ストリームが返されたら、それをDocFlavorとDocAttributeSet (存在する場合)とともにSimpleDocに渡します。DocAttributeSetがない場合は、代わりにnullを渡します。
Doc doc = new SimpleDoc(fis, flavor, null);
カスタムDoc実装の例については、「
例: PrintGIF.java」を参照してください。
次のセクションでは、印刷ジョブまたはサービスに関するイベントを登録する方法について説明します。
目次|
前|
次