JavaTM 2 Platform
Standard Ed. 6

javax.print
類別 ServiceUI

java.lang.Object
  繼承者 javax.print.ServiceUI

public class ServiceUI
extends Object

此類別是各種 UI 便捷方法的集合,這些方法為瀏覽那些通過 Java Print Service API 所尋找的 PrintService 提供了圖形使用者對話框。

該對話框遵從標準的網要,為使用者提供繼續/取消的選項,以及允許使用者選擇要使用並指定各種選擇(如紙張大小和份數)的 PrintService。

該對話框設計成通過可插入 PrintService 的公共 API 來與這些服務一同使用。

如果 PrintService 提供了任意的供應商擴展,則使用者可通過供應商提供的選項卡窗格 Component 來存取這些擴展。鼓勵這種供應商擴展使用 Swing! 並支持其可存取性 API。供應商擴展應該返回作為 AttributeSet 一部分的設置。希望保持使用者設置的應用程序應該使用這些設置來指定列印作業。注意,Java 列印服務的所有其他部分都不參考此類別,並且不包括在與 AWT 套件的存在無關的配置檔案中。


建構子摘要
ServiceUI()
           
 
方法摘要
static PrintService printDialog(GraphicsConfiguration gc, int x, int y, PrintService[] services, PrintService defaultService, DocFlavor flavor, PrintRequestAttributeSet attributes)
          為使用者提供一個選擇 PrintService(印表機)的對話框。
 
從類別 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 時,可以延遲方式從 PrintService 的 ServiceUIFactory 所獲得的自定義 UI。對話框會首先試圖尋找一個作為 JComponent 的 MAIN_UIROLE,然後尋找作為 Panel 的 MAIN_UIROLE。如果沒有 ServiceUIFactory 或沒有相符的角色,則自定義選項卡將為空或不可見。

如果使用者“確定”了該對話框,則對話框返回使用者選擇的 PrintService,如果使用者“取消”了該對話框,則返回 null。

應用程序必須傳遞要瀏覽的 PrintService 的陣列。該陣列必須是非 null 和非空(null)的。通常應用程序只傳遞能夠列印特定 doc flavor 的 PrintService。

應用程序可以傳遞最初顯示的 PrintService。可瀏覽服務的陣列中必須包括非 null 參數。如果此參數為 null,則由實作選擇某個服務。

可選地,應用程序可以傳遞要列印的 flavor。如果這是呈現給使用者的非 mull 選擇,則可針對該服務所支持的 flavor 更好地驗證該選擇。應用程序必須為返回的使用者選擇傳遞 PrintRequestAttributeSet。所調用的 PrintRequestAttributeSet 可以為空,或者可包含特定於應用程序的值。

這些內容用於為最初顯示的 PrintService 設置初始設置。忽略那些 PrintService 不支持的值。在使用者瀏覽 PrintService 時,將屬性和值複製到新的顯示內容。如果使用者瀏覽的 PrintService 不支持特定的屬性-值,則將該服務的預設值用作要複製的新值。

如果使用者取消了對話框,則返回的屬性將不會反映使用者進行的任何更改。 此方法的典型基本用法是:

 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 - 對話框在螢幕坐標中的位置,包括邊框
y - 對話框在螢幕坐標中的位置,包括邊框
services - 可瀏覽的服務,必須不為 null。
defaultService - 要顯示的初始 PrintService。
flavor - 要列印的 flavor,或者為 null。
attributes - 輸入時為應用程序最初提供的首選項。這不能為 null,但可以為空。輸出時為反映使用者所作的更改的屬性。
返回:
使用者選擇的 PrintService,如果使用者取消了對話框,則返回 null。
拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
IllegalArgumentException - 如果 services 為 null 或為空,或者 attributes 為 null,或者初始的 PrintService 未在可瀏覽服務的列表中。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only