public class Desktop extends Object
Desktop
クラスは、JavaアプリケーションがURI
またはファイルを処理するために、ネイティブ・デスクトップ上に登録された関連付けられたアプリケーションを起動できるようにします。
サポートされる操作には次のものがあります。
mailto
URIを指定して、ユーザー・デフォルトのメール・クライアントを起動する。このクラスには、これらの操作に対応するメソッドが用意されています。メソッドは、URIやファイルを処理するために、現在のプラットフォームで登録済みの関連付けられたアプリケーションを検索して起動します。関連付けられたアプリケーションがない場合や、関連付けられたアプリケーションを起動できない場合は、例外がスローされます。
アプリケーションはURIまたはファイルの種類に対して登録されます。たとえば、"sxi"
ファイル拡張子は、通常StarSuiteに登録されます。関連付けられたアプリケーションの登録、アクセス、および起動のメカニズムは、プラットフォームに応じて異なります。
各操作は、Desktop.Action
クラスで表されるアクション・タイプです。
注: アクションが呼び出されて関連付けられたアプリケーションが実行される場合、そのアプリケーションは、Javaアプリケーションが起動されたシステムと同じシステムで実行されます。
修飾子と型 | クラスと説明 |
---|---|
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)
関連付けられたアプリケーションの印刷コマンドを使用して、ネイティブ・デスクトップの印刷機能でファイルを印刷します。
|
public static Desktop getDesktop()
Desktop
インスタンスを返します。一部のプラットフォームでは、Desktop APIがサポートされていない場合があります。現在のデスクトップがサポートされているかどうかを調べるには、isDesktopSupported()
メソッドを使用してください。HeadlessException
- GraphicsEnvironment.isHeadless()
がtrue
を返す場合UnsupportedOperationException
- このクラスが現在のプラットフォームでサポートされていない場合isDesktopSupported()
, GraphicsEnvironment.isHeadless()
public static boolean isDesktopSupported()
getDesktop()
を使用してください。true
、そうでない場合はfalse
getDesktop()
public boolean isSupported(Desktop.Action action)
アクションがプラットフォームでサポートされている場合でも、そのアクションに対応するアプリケーションがファイルやURIに登録されていないことがあります。たとえば、Desktop.Action.OPEN
アクションはほとんどのプラットフォームでサポートされています。ただし、特定のファイルに対して、それを開くためのアプリケーションが登録されていない場合があります。この場合、isSupported(java.awt.Desktop.Action)
はtrue
を返しますが、対応するアクション・メソッドはIOException
をスローします。
action
- 指定されたDesktop.Action
true
、そうでない場合はfalse
Desktop.Action
public void open(File file) throws IOException
指定されたファイルがディレクトリの場合は、それを開くために現在のプラットフォームのファイル・マネージャが起動されます。
file
- 関連付けられたアプリケーションで開くファイルNullPointerException
- file
がnull
の場合IllegalArgumentException
- 指定されたファイルが存在しない場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.OPEN
アクションをサポートしていない場合IOException
- 指定されたファイルにアプリケーションが関連付けられていないか、関連付けられたアプリケーションを起動できない場合SecurityException
- セキュリティ・マネージャが存在する場合に、セキュリティ・マネージャのSecurityManager.checkRead(java.lang.String)
メソッドがファイルへの読取りアクセスを許可しない場合、またはAWTPermission("showWindowWithoutWarningBanner")
アクセス権を許可しない場合、または呼出し側スレッドがサブプロセスの作成を許可されていない場合AWTPermission
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
public void print(File file) throws IOException
file
- 印刷するファイルNullPointerException
- 指定されたファイルが次である場合: null
IllegalArgumentException
- 指定されたファイルが存在しない場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.PRINT
アクションをサポートしていない場合IOException
- 指定されたファイルに、その印刷に使用できるアプリケーションが関連付けられていない場合SecurityException
- セキュリティ・マネージャが存在する場合に、セキュリティ・マネージャのSecurityManager.checkRead(java.lang.String)
メソッドがファイルへの読取りアクセスを許可しない場合、またはセキュリティ・マネージャのSecurityManager.checkPrintJobAccess()
メソッドがファイルを印刷するためのアクセス権を許可しない場合、または呼出し側スレッドがサブプロセスの作成を許可されていない場合public void browse(URI uri) throws IOException
URI
を表示するために、デフォルト・ブラウザを起動します。デフォルトのブラウザが指定されたURI
を処理できない場合、指定されたタイプのURIs
を処理するために登録されたアプリケーションが呼び出されます。このアプリケーションは、URI
クラスで定義されている、URI
のプロトコルとパスによって決まります。
呼出し元のスレッドに必要なアクセス権がなく、アプレット内から呼び出された場合は、AppletContext.showDocument()
が使用されます。同様に、呼出し元に必要なアクセス権がなく、Java Web Startedアプリケーション内から呼び出された場合は、BasicService.showDocument()
が使用されます。
uri
- ユーザー・デフォルトのブラウザで表示するURINullPointerException
- uri
がnull
の場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.BROWSE
アクションをサポートしていない場合IOException
- ユーザー・デフォルトのブラウザが見つからないか起動できない場合、またはデフォルトのハンドラ・アプリケーションを起動できない場合SecurityException
- セキュリティ・マネージャが存在し、AWTPermission("showWindowWithoutWarningBanner")
アクセス権を拒否する場合。または呼出し元スレッドがサブプロセスの作成を許可されず、アプレットまたはJava Web Startedアプリケーション内から呼び出されない場合IllegalArgumentException
- 必要なアクセス権を利用できず、URIをURL
に変換できない場合URI
, AWTPermission
, AppletContext
public void mail() throws IOException
UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.MAIL
アクションをサポートしていない場合IOException
- ユーザー・デフォルトのメール・クライアントが見つからないか、起動できない場合SecurityException
- セキュリティ・マネージャが存在し、AWTPermission("showWindowWithoutWarningBanner")
アクセス権を拒否する場合、または呼出し元スレッドがサブプロセスの作成を許可されていない場合AWTPermission
public void mail(URI mailtoURI) throws IOException
mailto:
URIによって指定されたメッセージ・フィールドにデータを設定します。
mailto:
URIでは、「to」、「cc」、「subject」、「body」などのメッセージ・フィールドを指定できます。mailto:
URIの仕様の詳細は、「The mailto URL scheme (RFC 2368)」を参照してください。
mailtoURI
- 指定されたmailto:
URINullPointerException
- 指定されたURIがnull
である場合IllegalArgumentException
- URIスキームが"mailto"
でない場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.MAIL
アクションをサポートしていない場合IOException
- ユーザー・デフォルトのメール・クライアントが見つからないか、起動できない場合SecurityException
- セキュリティ・マネージャが存在し、AWTPermission("showWindowWithoutWarningBanner")
アクセス権を拒否する場合、または呼出し元スレッドがサブプロセスの作成を許可されていない場合URI
, AWTPermission
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.