- java.lang.Object
-
- javax.print.ServiceUI
-
public class ServiceUI extends Object
このクラスは、Java Print Service APIを介してルックアップされた印刷サービス閲覧用のグラフィカルなユーザー・ダイアログを提供する、利便性の高いUIメソッドのコレクションです。ダイアログは標準パターンに準拠し、ユーザーに対して「継続」や「取消し」オプションを提供します。また、ユーザーは、このダイアログを使用して印刷サービスを選択し、用紙サイズやコピー部数などを指定できます。
ダイアログは、これらの印刷サービスのpublic APIを介して、プラグイン可能な印刷サービスと協調動作するように設計されています。
印刷サービスがどれかのベンダー拡張機能を提供する場合、ベンダーの提供するタブ・パネルComponentを使用してこれらの機能にアクセス可能になります。 このようなベンダー拡張機能では、Swing!の使用およびそのAccessibility APIのサポートが推奨されています。 ベンダー拡張機能は、設定をAttributeSetの一部として返す必要があります。 ユーザー設定を保存するアプリケーションは、これらの設定を使用して印刷ジョブを指定する必要があります。 このクラスが、Java Print Serviceの他の部分から参照されることはありません。また、AWTパッケージの存在に依存できないプロファイルに、このクラスを含めることはできません。
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 ServiceUI()
-
メソッドのサマリー
すべてのメソッド staticメソッド 具象メソッド 修飾子と型 メソッド 説明 static PrintService
printDialog(GraphicsConfiguration gc, int x, int y, PrintService[] services, PrintService defaultService, DocFlavor flavor, PrintRequestAttributeSet attributes)
印刷サービス(プリンタ)選択用ダイアログをユーザーに提供します。
-
-
-
メソッドの詳細
-
printDialog
public static PrintService printDialog(GraphicsConfiguration gc, int x, int y, PrintService[] services, PrintService defaultService, DocFlavor flavor, PrintRequestAttributeSet attributes) throws HeadlessException
印刷サービス(プリンタ)選択用ダイアログをユーザーに提供します。 これは、アプリケーションにより指定された位置に表示される、モーダルなダイアログです。 仕様が無効であるか、仕様によりダイアログが非表示に設定された場合、実装により指定された位置に表示されます。 ダイアログは、呼出しスレッドをブロックし、アプリケーション・モーダルになります。ダイアログには、PrintServiceのブラウズ時にPrintServiceのServiceUIFactoryから遅れて取得されたカスタムUIを保持するタブ・パネルを含めることができます。 ダイアログは、MAIN_UIROLEの検出を最初にJComponentとして、次にPanelとして試みます。 ServiceUIFactoryが存在しないか、一致するロールが存在しない場合、カスタム・タブは空または非表示になります。
ダイアログで「OK」を選択すると、ユーザーが選択した印刷サービスが返されます。ダイアログで「取消し」を選択すると、nullが返されます。
アプリケーションは、ブラウズする印刷サービスの配列を渡す必要があります。 配列はnullまたは空以外である必要があります。 通常、アプリケーションは、特定のドキュメント・フレーバの印刷機能を持つPrintServiceだけを渡します。
アプリケーションは、最初に表示するPrintServiceを渡すことができます。 nullでないパラメータを、ブラウズ可能なサービスの配列に含める必要があります。 このパラメータがnullの場合、サービスが実装により選択されます。
アプリケーションは、印刷するフレーバをオプションで渡すこともできます。 これがnullでない場合、ユーザーに提示される選択肢は、サービスがサポートする選択肢よりも詳細な検証が可能になります。 アプリケーションは、ユーザーの選択肢を返すためにPrintRequestAttributeSetを渡す必要があります。 PrintRequestAttributeSetの呼出しには、空の場合と、アプリケーション指定の値が含まれる場合とがあります。
これらは、最初に表示される印刷サービスの初期設定に使用されます。 印刷サービスがサポートしない値は無視されます。 ユーザーが印刷サービスをブラウズする場合、属性および値は新規表示にコピーされます。 特定の属性値をサポートしない印刷サービスをユーザーがブラウズする場合、コピーされる新規値として、そのサービスのデフォルトが使用されます。
ユーザーがダイアログを取り消すと、返される属性は、ユーザーによる変更を一切反映しません。 このメソッドの一般的で基本的な使用方法を、次に示します。
PrintService[] services = PrintServiceLookup.lookupPrintServices( DocFlavor.INPUT_STREAM.JPEG, null); PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet(); if (services.length > 0) { PrintService service = ServiceUI.printDialog(null, 50, 50, services, services[0], null, attributes); if (service != null) { ... print ... } }
- パラメータ:
gc
- スクリーンの選択に使用する。nullは、プライマリまたはデフォルト・スクリーンを意味する。x
-gc
の起点を基準とした画面座標のボーダーを含むダイアログのロケーション。y
-gc
の起点を基準とした画面座標のボーダーを含むダイアログのロケーション。services
- ブラウズ可能であるためには、null以外でなければならない。defaultService
- 表示する初期PrintService。flavor
- 印刷されるフレーバ、またはnull。attributes
- 入力時は、初期アプリケーションの提供する設定。 これは、nullであってはならないが、空は許可される。 出力時は、ユーザーによる変更を属性に反映される。- 戻り値:
- ユーザーの選択した印刷サービス。または、ユーザーがダイアログを取り消した場合はnull。
- 例外:
HeadlessException
- GraphicsEnvironment.isHeadless()がtrueを返した場合。IllegalArgumentException
- サービスがnullまたは空の場合、属性がnullの場合、または初期PrintServiceがブラウズ可能なサービスのリストに存在しない場合。
-
-