JavaTM 2
Platform
Std. Ed. v1.4.0

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);
 AttributeSet attributes = new PrintRequestHashAttributeSet();
 PrintService service =  ServiceUI.printDialog(null, 50, 50,
                                               services, 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 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.