JavaTM Platform
Standard Ed. 6

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


コンストラクタの概要
ServiceUI()
           
 
メソッドの概要
static PrintService printDialog(GraphicsConfiguration gc, int x, int y, PrintService[] services, PrintService defaultService, DocFlavor flavor, PrintRequestAttributeSet attributes)
          印刷サービス (プリンタ) 選択用ダイアログをユーザーに提供します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ServiceUI

public 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 が返されます。  

アプリケーションは、ブラウズする印刷サービスの配列を渡す必要があります。配列は null または空以外である必要があります。通常、アプリケーションは、特定のドキュメントフレーバの印刷機能を持つ PrintService だけを渡します。  

アプリケーションは、最初に表示する PrintService を渡すことができます。null でないパラメータを、ブラウズ可能なサービスの配列に含める必要があります。このパラメータが null の場合、サービスが実装により選択されます。  

アプリケーションは、印刷するフレーバをオプションで渡すこともできます。これが null でない場合、ユーザーに提示される選択肢は、サービスがサポートする選択肢よりも詳細な検証が可能になります。アプリケーションは、ユーザーの選択肢を返すために PrintRequestAttributeSet を渡す必要があります。PrintRequestAttributeSet の呼び出しには、空の場合と、アプリケーション指定の値が含まれる場合とがあります。  

これらは、最初に表示される印刷サービスの初期設定に使用されます。印刷サービスがサポートしない値は無視されます。ユーザーが印刷サービスをブラウズする場合、属性および値は新規表示にコピーされます。特定の属性値をサポートしない印刷サービスをユーザーがブラウズする場合、コピーされる新規値として、そのサービスのデフォルトが使用されます。  

ユーザーがダイアログを取り消すと、返される属性は、ユーザーによる変更を一切反映しません。 このメソッドの一般的で基本的な使用方法を、次に示します。

 PrintService[] services = PrintServiceLookup.lookupPrintServices(
                            DocFlavor.INPUT_STREAM.JPEG, null);
 PrintRequestAttributeSet aset = new HashPrintRequestHashAttributeSet();
 if (services.length > 0) {
    PrintService service =  ServiceUI.printDialog(null, 50, 50,
                                               services, services[0],
                                               null
                                               attributes);
    if (service != null) {
     ... print ...
    }
 }
 

パラメータ:
gc - スクリーンの選択に使用する。null は、プライマリまたはデフォルトスクリーンを意味する
x - スクリーン座標内の境界を含むダイアログの位置
y - スクリーン座標内の境界を含むダイアログの位置
services - ブラウズ可能であるためには、null 以外でなければならない
defaultService - - 最初に表示する PrintService
flavor - - 印刷するフレーバ、または null
attributes - 入力時は、初期アプリケーションの提供する 設定。これは、null であってはならないが、空は許可される。 出力時は、ユーザーによる変更を属性に反映される
戻り値:
ユーザーの選択した印刷サービス。または、 ユーザーがダイアログを取り消した場合は null
例外:
HeadlessException - GraphicsEnvironment.isHeadless() の場合 が true を返す場合
IllegalArgumentException - サービスが null または空の場合、 属性が null の場合、または初期 PrintService が ブラウズ可能なサービスのリストに存在しない場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。