ダイアログは標準パターンに準拠し、ユーザーに対して「継続」や「取消し」オプションを提供します。また、ユーザーは、このダイアログを使用して印刷サービスを選択し、用紙サイズやコピー部数などを指定できます。
ダイアログは、これらの印刷サービスのpublic APIを介して、プラグイン可能な印刷サービスと協調動作するように設計されています。
プリント・サービスがベンダーの拡張機能を提供する場合、ベンダー提供のタブ・パネルComponent
を介してユーザーにアクセス可能にすることができます。 このようなベンダー拡張機能では、Swing!の使用およびそのAccessibility APIのサポートが推奨されています。 ベンダー拡張は、AttributeSet
の一部として設定を返す必要があります。 ユーザー設定を保存するアプリケーションは、これらの設定を使用して印刷ジョブを指定する必要があります。 このクラスが、Java Print Serviceの他の部分から参照されることはありません。また、AWTパッケージの存在に依存できないプロファイルに、このクラスを含めることはできません。
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明static PrintService
printDialog
(GraphicsConfiguration gc, int x, int y, PrintService[] services, PrintService defaultService, DocFlavor flavor, PrintRequestAttributeSet attributes) 印刷サービス(プリンタ)選択用ダイアログをユーザーに提供します。
-
コンストラクタの詳細
-
ServiceUI
public ServiceUI()ServiceUI
を構築します。
-
-
メソッドの詳細
-
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
が返されます。アプリケーションは、ブラウズする印刷サービスの配列を渡す必要があります。 配列は
non-null
で、空でなければなりません。 通常、アプリケーションは、特定のドキュメント・フレーバを印刷できるPrintServices
のみを渡します。アプリケーションは最初に表示される
PrintService
を渡すことができます。non-null
パラメータは、ブラウズ可能なサービスの配列に含める必要があります。 このパラメータがnull
の場合、サービスは実装によって選択されます。アプリケーションは、印刷するフレーバをオプションで渡すこともできます。 これが
non-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
- ブラウズ可能にするには、non-null
でなければなりませんdefaultService
- 表示する最初のPrintService
flavor
- 印刷するバー、またはnull
attributes
- 入力時は、初期アプリケーションの提供する設定。 これはnull
にすることはできませんが、空である可能性があります。 出力時は、ユーザーによる変更を属性に反映される。- 戻り値:
- ユーザーが選択した印刷サービス、またはユーザーがダイアログを取消した場合は
null
- 例外:
HeadlessException
-GraphicsEnvironment.isHeadless()
がtrue
を返す場合IllegalArgumentException
- サービスがnull
または空であるか、属性がnull
であるか、または最初のPrintService
がブラウズ可能なサービスのリストにない
-