モジュール java.desktop
パッケージ javax.print

クラスServiceUI

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パッケージの存在に依存できないプロファイルに、このクラスを含めることはできません。

  • コンストラクタの詳細

  • メソッドの詳細

    • 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_UIROLEJComponentとして、次に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がブラウズ可能なサービスのリストにない