JavaTM 2 Platform
Standard Ed. 6

java.awt
類別 Desktop

java.lang.Object
  繼承者 java.awt.Desktop

public class Desktop
extends Object

Desktop 類別允許 Java 應用程序啟動已在本機桌面上註冊的關聯應用程序,以處理 URI 或檔案。

支持的操作包括:

此類別提供與這些操作對應的方法。這些方法尋找在當前平臺上註冊的關聯應用程序,並啟動該應用程序來處理 URI 或檔案。如果沒有關聯應用程序或關聯應用程序無法啟動,則拋出異常。

應用程序被註冊為 URI 或檔案型別;例如,"sxi" 檔案擴展名通常註冊為 StarOffice。註冊、存取和啟動關聯應用程序的機制與平臺有關。

每個操作都是由 Desktop.Action 類別表示的一種動作型別。

註:當調用一些動作和執行關聯應用程序時,將在與啟動 Java 應用程序相同的系統上執行它們。

從以下版本開始:
1.6

巢狀類別摘要
static class Desktop.Action
          表示動作型別。
 
方法摘要
 void browse(URI uri)
          啟動預設瀏覽器來顯示 URI
 void edit(File file)
          啟動關聯編輯器應用程序並打開用於編輯的檔案。
static Desktop getDesktop()
          返回當前瀏覽器上下文的 Desktop 實例。
static boolean isDesktopSupported()
          測試當前平臺是否支持此類別。
 boolean isSupported(Desktop.Action action)
          測試當前平臺是否支持某一動作。
 void mail()
          啟動使用者預設郵件客戶端的郵件組合視窗。
 void mail(URI mailtoURI)
          啟動使用者預設郵件客戶端的郵件組合視窗,填充由 mailto: URI 指定的訊息欄位。
 void open(File file)
          啟動關聯應用程序來打開檔案。
 void print(File file)
          使用關聯應用程序的列印命令,用本機桌面列印設施來列印檔案。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法詳細資訊

getDesktop

public static Desktop getDesktop()
返回當前瀏覽器上下文的 Desktop 實例。一些平臺不支持 Desktop API;可以使用 isDesktopSupported() 方法來確定是否支持當前桌面。

返回:
當前瀏覽器上下文的 Desktop 實例
拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
UnsupportedOperationException - 如果當前平臺不支持此類別
另請參見:
isDesktopSupported(), GraphicsEnvironment.isHeadless()

isDesktopSupported

public static boolean isDesktopSupported()
測試當前平臺是否支持此類別。如果不受支持,則使用 getDesktop() 獲得實例。

返回:
如果當前平臺支持此類別,則返回 true;否則返回 false
另請參見:
getDesktop()

isSupported

public boolean isSupported(Desktop.Action action)
測試當前平臺是否支持某一動作。

即使平臺支持某一動作、檔案或 URI,也可能沒有針對該動作的註冊應用程序。例如,大多數平臺支持 Desktop.Action.OPEN 動作。但對於特定檔案,可能沒有用來打開它的註冊應用程序。在這種情況下,isSupported(java.awt.Desktop.Action) 可能返回 true,但相應的動作方法將拋出 IOException

參數:
action - 指定的 Desktop.Action
返回:
如果當前平臺支持指定的動作,則返回 true;否則返回 false
另請參見:
Desktop.Action

open

public void open(File file)
          throws IOException
啟動關聯應用程序來打開檔案。

如果指定的檔案是一個目錄,則啟動當前平臺的檔案管理器打開它。

參數:
file - 要用關聯應用程序打開的檔案
拋出:
NullPointerException - 如果 filenull
IllegalArgumentException - 如果指定檔案不存在
UnsupportedOperationException - 如果當前平臺不支持 Desktop.Action.OPEN 動作
IOException - 如果指定檔案沒有關聯應用程序,或者關聯應用程序無法啟動
SecurityException - 如果安全管理器存在且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對檔案進行讀取存取;或者它拒絕 AWTPermission("showWindowWithoutWarningBanner") 權限;或者不允許調用執行緒創建子進程
另請參見:
AWTPermission

edit

public void edit(File file)
          throws IOException
啟動關聯編輯器應用程序並打開用於編輯的檔案。

參數:
file - 要打開用於編輯的檔案
拋出:
NullPointerException - 如果指定檔案為 null
IllegalArgumentException - 如果指定檔案不存在
UnsupportedOperationException - 如果當前平臺不支持 Desktop.Action.EDIT 動作
IOException - 如果指定檔案沒有關聯編輯器,或者關聯應用程序無法啟動
SecurityException - 如果安全管理器存在且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對檔案進行讀取存取;或者 SecurityManager.checkWrite(java.lang.String) 方法拒絕對檔案進行寫入存取;或者它拒絕 AWTPermission("showWindowWithoutWarningBanner") 權限;或者不允許調用執行緒創建子進程
另請參見:
AWTPermission

print

public void print(File file)
           throws IOException
使用關聯應用程序的列印命令,用本機桌面列印設施來列印檔案。

參數:
file - 要列印的檔案
拋出:
NullPointerException - 如果指定檔案為 null
IllegalArgumentException - 如果指定檔案不存在
UnsupportedOperationException - 如果當前平臺不支持 Desktop.Action.PRINT 動作
IOException - 如果指定檔案沒有可用於列印它的關聯應用程序
SecurityException - 如果安全管理器存在且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對檔案進行讀取存取;或者其 SecurityManager.checkPrintJobAccess() 方法拒絕列印檔案的權限;或者不允許調用執行緒創建子進程

browse

public void browse(URI uri)
            throws IOException
啟動預設瀏覽器來顯示 URI。如果預設瀏覽器無法處理指定的 URI,則調用用於處理指定型別的 URI 的註冊應用程序。正如 URI 類別定義的一樣,根據協議和 URI 的路徑確定應用程序。

如果調用執行緒沒有必需的權限,且它是從 applet 中調用的,則使用 AppletContext.showDocument()。類似地,如果調用執行緒沒有必需的權限,且它是從 Java Web Started 應用程序中調用的,則使用 BasicService.showDocument()

參數:
uri - 將顯示在使用者預設瀏覽器中的 URI
拋出:
NullPointerException - 如果 urinull
UnsupportedOperationException - 如果當前平臺不支持 Desktop.Action.BROWSE 動作
IOException - 如果未找到使用者預設瀏覽器或無法啟動它,或者預設處理器應用程序無法啟動
SecurityException - 如果安全管理器存在且它拒絕 AWTPermission("showWindowWithoutWarningBanner") 權限;或者它不允許調用執行緒創建子進程,且不是從 applet 或 Java Web Started 應用程序中調用的
IllegalArgumentException - 如果必需權限不可用且 URI 無法轉換為 URL
另請參見:
URI, AWTPermission, AppletContext

mail

public void mail()
          throws IOException
啟動使用者預設郵件客戶端的郵件組合視窗。

拋出:
UnsupportedOperationException - 如果當前平臺不支持 Desktop.Action.MAIL 動作
IOException - 如果未找到預設郵件客戶端,或者無法啟動它
SecurityException - 如果安全管理器存在且它拒絕 AWTPermission("showWindowWithoutWarningBanner") 權限,或者它不允許調用執行緒創建子進程
另請參見:
AWTPermission

mail

public void mail(URI mailtoURI)
          throws IOException
啟動使用者預設郵件客戶端的郵件組合視窗,填充由 mailto: URI 指定的訊息欄位。

mailto:URI 可以指定包含 "to""cc""subject""body" 等內容的訊息欄位。有關 mailto: URI 規範的詳細資訊,請參閱 mailto URL scheme (RFC 2368)

參數:
mailtoURI - 指定的 mailto:URI
拋出:
NullPointerException - 如果指定的 URI 為 null
IllegalArgumentException - 如果 URI 方案不是 "mailto"
UnsupportedOperationException - 如果當前平臺不支持 Desktop.Action.MAIL 動作
IOException - 如果未找到使用者預設郵件客戶端或無法啟動它
SecurityException - 如果安全管理器存在且它拒絕 AWTPermission("showWindowWithoutWarningBanner") 權限,或者它不允許調用執行緒創建子進程
另請參見:
URI, AWTPermission

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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