Desktop
クラスは、さまざまなデスクトップ機能との対話を可能にします。
サポートされる操作には次のものがあります。
- ユーザー・デフォルトのブラウザを起動して、指定されたURIを表示する。
- オプションの
mailto
URIを指定して、ユーザー・デフォルトのメール・クライアントを起動する。 - 登録済みのアプリケーションを起動して、指定されたファイルを開く、編集する、または印刷する。
このクラスには、これらの操作に対応するメソッドが用意されています。 メソッドは、URIやファイルを処理するために、現在のプラットフォームで登録済みの関連付けられたアプリケーションを検索して起動します。 関連付けられたアプリケーションがない場合や、関連付けられたアプリケーションを起動できない場合は、例外がスローされます。 サポートされている操作と機能の完全なリストについては、Desktop.Action
を参照してください。
アプリケーションは、URIまたはファイル型に登録されます。 関連付けられたアプリケーションの登録、アクセス、および起動のメカニズムは、プラットフォームに応じて異なります。
各操作は、Desktop.Action
クラスで表されるアクション・タイプです。
ノート: アクションが呼び出されて関連付けられたアプリケーションが実行される場合、そのアプリケーションは、Javaアプリケーションが起動されたシステムと同じシステムで実行されます。
- 導入されたバージョン:
- 1.6
- 関連項目:
-
ネストされたクラスのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明void
addAppEventListener
(SystemEventListener listener) SystemEventListener
のサブ型を追加して、ネイティブ・システムからの通知を待ち受けます。void
URI
を表示するために、デフォルト・ブラウザを起動します。void
browseFileDirectory
(File file) file
を含むフォルダを開き、デフォルトのシステム・ファイル・マネージャでそのファイルを選択します。void
このアプリケーションが突然終了しないようにします。void
関連付けられているエディタ・アプリケーションを起動して、ファイルを編集用に開きます。void
このアプリケーションを突然終了させます。static Desktop
現在のデスクトップ・コンテキストのDesktop
インスタンスを返します。static boolean
このクラスが現在のプラットフォームでサポートされているかどうかを判定します。boolean
isSupported
(Desktop.Action action) このアクションが現在のプラットフォームでサポートされているかどうかを判定します。void
mail()
ユーザー・デフォルトのメール・クライアントのメール作成ウィンドウを起動します。void
ユーザー・デフォルトのメール・クライアントのメール作成ウィンドウを起動し、mailto:
URIによって指定されたメッセージ・フィールドにデータを設定します。boolean
moveToTrash
(File file) 指定したファイルをごみ箱に移動します。void
関連付けられているアプリケーションを起動してファイルを開きます。void
ネイティブ・ヘルプ・ビューア・アプリケーションを開きます。void
関連付けられているアプリケーションの印刷コマンドを使用して、ネイティブ・デスクトップの印刷機能でファイルを印刷します。void
removeAppEventListener
(SystemEventListener listener) SystemEventListener
のサブ型を削除して、ネイティブ・システムからの通知を待ち受けます。void
requestForeground
(boolean allWindows) このアプリケーションにフォアグラウンドへの移動をリクエストします。void
setAboutHandler
(AboutHandler aboutHandler) アプリケーションのカスタムAboutウィンドウを表示するハンドラをインストールします。void
setDefaultMenuBar
(JMenuBar menuBar) アクティブなフレームがない場合に使用するデフォルトのメニュー・バーを設定します。void
setOpenFileHandler
(OpenFilesHandler openFileHandler) アプリケーションがファイルのリストを開くように要求されたときに通知されるハンドラをインストールします。void
setOpenURIHandler
(OpenURIHandler openURIHandler) アプリケーションがURLを開くように要求されたときに通知されるハンドラをインストールします。void
setPreferencesHandler
(PreferencesHandler preferencesHandler) アプリケーションのカスタムPreferencesウィンドウを表示するハンドラをインストールします。void
setPrintFileHandler
(PrintFilesHandler printFileHandler) アプリケーションがファイルのリストを印刷するように要求されたときに通知されるハンドラをインストールします。void
setQuitHandler
(QuitHandler quitHandler) アプリケーションを終了するかどうかを決定するハンドラをインストールします。void
setQuitStrategy
(QuitStrategy strategy) このアプリケーションを終了するために使用されるデフォルトの戦略を設定します。
-
メソッドの詳細
-
getDesktop
public static Desktop getDesktop()現在のデスクトップ・コンテキストのDesktop
インスタンスを返します。 一部のプラットフォームでは、Desktop APIがサポートされていない場合があります。現在のデスクトップがサポートされているかどうかを調べるには、isDesktopSupported()
メソッドを使用してください。- 戻り値:
- デスクトップ・インスタンス
- 例外:
HeadlessException
-GraphicsEnvironment.isHeadless()
がtrue
を返す場合UnsupportedOperationException
- このクラスが現在のプラットフォームでサポートされていない場合- 関連項目:
-
isDesktopSupported
public static boolean isDesktopSupported()このクラスが現在のプラットフォームでサポートされているかどうかを判定します。 サポートされている場合、インスタンスを取得するにはgetDesktop()
を使用してください。- 戻り値:
- このクラスが現在のプラットフォームでサポートされている場合は
true
、そうでない場合はfalse
- 関連項目:
-
isSupported
public boolean isSupported(Desktop.Action action) このアクションが現在のプラットフォームでサポートされているかどうかを判定します。アクションがプラットフォームでサポートされている場合でも、そのアクションに対応するアプリケーションがファイルやURIに登録されていないことがあります。 たとえば、
Desktop.Action.OPEN
アクションはほとんどのプラットフォームでサポートされています。 ただし、特定のファイルに対して、それを開くためのアプリケーションが登録されていない場合があります。 この場合、isSupported(Action)
はtrue
返すことがありますが、対応するアクション・メソッドはIOException
をスローします。- パラメータ:
action
- 指定されたDesktop.Action
- 戻り値:
- 指定されたアクションが現在のプラットフォームでサポートされている場合は
true
、そうでない場合はfalse
- 関連項目:
-
open
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")
アクセス権を許可しない場合、または呼出し側スレッドがサブプロセスの作成を許可されていない場合- 関連項目:
-
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")
アクセス権を許可しない場合、または呼出し側スレッドがサブプロセスの作成を許可されていない場合- 関連項目:
-
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
を処理できない場合、指定されたタイプのURIs
を処理するために登録されたアプリケーションが呼び出されます。 このアプリケーションは、URI
クラスで定義されている、URI
のプロトコルとパスによって決まります。- パラメータ:
uri
- ユーザー・デフォルトのブラウザで表示するURI- 例外:
NullPointerException
-uri
がnull
である場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.BROWSE
アクションをサポートしていない場合IOException
- ユーザー・デフォルトのブラウザが見つからないか起動できない場合、またはデフォルトのハンドラ・アプリケーションを起動できない場合SecurityException
- セキュリティ・マネージャが存在し、AWTPermission("showWindowWithoutWarningBanner")
アクセス権を拒否する場合、または呼出し元スレッドがサブプロセスの作成を許可されていない場合- 関連項目:
-
mail
public void mail() throws IOExceptionユーザー・デフォルトのメール・クライアントのメール作成ウィンドウを起動します。- 例外:
UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.MAIL
アクションをサポートしていない場合IOException
- ユーザー・デフォルトのメール・クライアントが見つからないか、起動できない場合SecurityException
- セキュリティ・マネージャが存在し、AWTPermission("showWindowWithoutWarningBanner")
アクセス権を拒否する場合、または呼出し元スレッドがサブプロセスの作成を許可されていない場合- 関連項目:
-
mail
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:
URI- 例外:
NullPointerException
- 指定されたURIがnull
である場合IllegalArgumentException
- URIスキームが"mailto"
でない場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.MAIL
アクションをサポートしていない場合IOException
- ユーザー・デフォルトのメール・クライアントが見つからないか、起動できない場合SecurityException
- セキュリティ・マネージャが存在し、AWTPermission("showWindowWithoutWarningBanner")
アクセス権を拒否する場合、または呼出し元スレッドがサブプロセスの作成を許可されていない場合- 関連項目:
-
addAppEventListener
public void addAppEventListener(SystemEventListener listener) SystemEventListener
のサブ型を追加して、ネイティブ・システムからの通知を待ち受けます。 SystemEventListenerサブ型が現在のプラットフォームでサポートされていない場合は無効です。- パラメータ:
listener
- listener- 例外:
SecurityException
- セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")
許可を拒否した場合- 導入されたバージョン:
- 9
- 関連項目:
-
removeAppEventListener
public void removeAppEventListener(SystemEventListener listener) SystemEventListener
のサブ型を削除して、ネイティブ・システムからの通知を待ち受けます。 SystemEventListenerサブ型が現在のプラットフォームでサポートされていない場合は無効です。- パラメータ:
listener
- listener- 例外:
SecurityException
- セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")
許可を拒否した場合- 導入されたバージョン:
- 9
- 関連項目:
-
setAboutHandler
public void setAboutHandler(AboutHandler aboutHandler) アプリケーションのカスタムAboutウィンドウを表示するハンドラをインストールします。AboutHandler
をnull
に設定すると、デフォルトの動作に戻ります。- パラメータ:
aboutHandler
-AboutHandler.handleAbout(AboutEvent)
メッセージに応答するハンドラ- 例外:
SecurityException
- セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")
許可を拒否した場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_ABOUT
アクションをサポートしていない場合- 導入されたバージョン:
- 9
-
setPreferencesHandler
public void setPreferencesHandler(PreferencesHandler preferencesHandler) アプリケーションのカスタムPreferencesウィンドウを表示するハンドラをインストールします。PreferencesHandler
をnull
に設定すると、デフォルトの動作に戻ります- パラメータ:
preferencesHandler
-PreferencesHandler.handlePreferences(PreferencesEvent)
に応答するハンドラ- 例外:
SecurityException
- セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")
許可を拒否した場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_PREFERENCES
アクションをサポートしていない場合- 導入されたバージョン:
- 9
-
setOpenFileHandler
public void setOpenFileHandler(OpenFilesHandler openFileHandler) アプリケーションがファイルのリストを開くように要求されたときに通知されるハンドラをインストールします。- 実装上のノート:
- macOSの場合、Javaアプリケーションがバンドルされたアプリケーションで、
CFBundleDocumentTypes
配列がInfo.plist
に存在する場合にのみ、通知が送信されることに注意してください。Info.plist
の詳細については、Apple Developer Documentationを確認してください。 - パラメータ:
openFileHandler
- handler- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(java.lang.String)
メソッドがファイルへの読み取りアクセスを拒否した場合、またはRuntimePermission("canProcessApplicationEvents")
権限を拒否した場合、または呼び出し元スレッドがサブプロセスを作成できない場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_OPEN_FILE
アクションをサポートしていない場合- 導入されたバージョン:
- 9
-
setPrintFileHandler
public void setPrintFileHandler(PrintFilesHandler printFileHandler) アプリケーションがファイルのリストを印刷するように要求されたときに通知されるハンドラをインストールします。- 実装上のノート:
- macOSの場合、Javaアプリケーションがバンドルされたアプリケーションで、
CFBundleDocumentTypes
配列がInfo.plist
に存在する場合にのみ、通知が送信されることに注意してください。Info.plist
の詳細については、Apple Developer Documentationを確認してください。 - パラメータ:
printFileHandler
- handler- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkPrintJobAccess()
メソッドが印刷許可を拒否した場合、またはRuntimePermission("canProcessApplicationEvents")
許可を拒否した場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_PRINT_FILE
アクションをサポートしていない場合- 導入されたバージョン:
- 9
-
setOpenURIHandler
public void setOpenURIHandler(OpenURIHandler openURIHandler) アプリケーションがURLを開くように要求されたときに通知されるハンドラをインストールします。 ハンドラをnull
に設定すると、別のハンドラが設定されるまで、すべてのOpenURIHandler.openURI(OpenURIEvent)
リクエストがエンキューされます。- 実装上のノート:
- macOSの場合、Javaアプリケーションがバンドルされたアプリケーションで、
CFBundleDocumentTypes
配列がInfo.plist
に存在する場合にのみ、通知が送信されることに注意してください。Info.plist
の詳細については、Apple Developer Documentationを確認してください。 - パラメータ:
openURIHandler
- ハンドラRuntimePermission("canProcessApplicationEvents")
パーミッション、または呼び出し元スレッドがサブプロセスの作成を許可されていません- 例外:
UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_OPEN_URI
アクションをサポートしていない場合- 導入されたバージョン:
- 9
-
setQuitHandler
public void setQuitHandler(QuitHandler quitHandler) アプリケーションを終了するかどうかを決定するハンドラをインストールします。 ハンドラにはワン・ショットQuitResponse
が渡されます。これを取消するか、終了することができます。 ハンドラをnull
に設定すると、すべての終了リクエストがデフォルトのQuitStrategy
を直接実行します。- パラメータ:
quitHandler
- アプリケーションが終了するように要求されたときに呼び出されるハンドラ- 例外:
SecurityException
- セキュリティ・マネージャが存在し、呼び出し元がSystem.exit
を呼び出すことを許可しない場合、またはRuntimePermission("canProcessApplicationEvents")
許可を拒否する場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_QUIT_HANDLER
アクションをサポートしていない場合- 導入されたバージョン:
- 9
-
setQuitStrategy
public void setQuitStrategy(QuitStrategy strategy) このアプリケーションを終了するために使用されるデフォルトの戦略を設定します。 デフォルトでは、SYSTEM_EXIT_0が呼び出されます。- パラメータ:
strategy
- このアプリケーションをシャットダウンする方法- 例外:
SecurityException
- セキュリティ・マネージャが存在し、呼び出し元がSystem.exit
を呼び出すことを許可しない場合、またはRuntimePermission("canProcessApplicationEvents")
許可を拒否する場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_QUIT_STRATEGY
アクションをサポートしていない場合- 導入されたバージョン:
- 9
- 関連項目:
-
enableSuddenTermination
public void enableSuddenTermination()このアプリケーションを突然終了させます。 このメソッドを呼び出して、アプリケーションの状態が保存されたことを通知し、通知を終了する必要はありません。 アプリケーションを終了可能にしておくと、終了するように要求されたときにアプリケーションでページングが再開されるのを避けることができるため、ユーザー・エクスペリエンスが向上します。 ノート: 突然終了を有効にすると、QuitHandlerに通知したり、シャットダウン・フックを実行せずにアプリケーションを終了することができます。 たとえば、ユーザーが開始したCmd-Q、ログアウト、再起動、またはシャットダウン・リクエストは、アプリケーションを効果的に"kill -KILL"できます。- 例外:
SecurityException
- セキュリティ・マネージャが存在し、呼び出し元がSystem.exit
を呼び出すことを許可しない場合、またはRuntimePermission("canProcessApplicationEvents")
許可を拒否する場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_SUDDEN_TERMINATION
アクションをサポートしていない場合- 導入されたバージョン:
- 9
- 関連項目:
-
disableSuddenTermination
public void disableSuddenTermination()このアプリケーションが突然終了しないようにします。 このメソッドを呼び出して、アプリケーションに保存されていない状態があることを通知し、通知なしで終了しないようにします。- 例外:
SecurityException
- セキュリティ・マネージャが存在し、呼び出し元がSystem.exit
を呼び出すことを許可しない場合、またはRuntimePermission("canProcessApplicationEvents")
許可を拒否する場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_SUDDEN_TERMINATION
アクションをサポートしていない場合- 導入されたバージョン:
- 9
- 関連項目:
-
requestForeground
public void requestForeground(boolean allWindows) このアプリケーションにフォアグラウンドへの移動をリクエストします。- パラメータ:
allWindows
- このアプリケーションのすべてのウィンドウをフォアグラウンドに移動するか、最前面に移動するか- 例外:
SecurityException
- セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")
許可を拒否した場合。UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_REQUEST_FOREGROUND
アクションをサポートしていない場合- 導入されたバージョン:
- 9
-
openHelpViewer
public void openHelpViewer()ネイティブ・ヘルプ・ビューア・アプリケーションを開きます。- 実装上のノート:
- Mac OSでは、ヘルプ・ブックがアプリケーション・バンドラに追加され、CFBundleHelpBookFolderを使用してInfo.plistに登録されている場合、ネイティブ・ヘルプ・ビューア・アプリケーションが開きます
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")
権限が拒否されるか、AWTPermission("showWindowWithoutWarningBanner")
権限が拒否されるか、コール元スレッドがサブプロセスの作成を許可されていませUnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_HELP_VIEWER
アクションをサポートしていない場合- 導入されたバージョン:
- 9
-
setDefaultMenuBar
public void setDefaultMenuBar(JMenuBar menuBar) アクティブなフレームがない場合に使用するデフォルトのメニュー・バーを設定します。- パラメータ:
menuBar
- 他のフレームがアクティブでないときに使用- 例外:
SecurityException
- セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")
許可を拒否した場合。UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_MENU_BAR
アクションをサポートしていない場合- 導入されたバージョン:
- 9
-
browseFileDirectory
public void browseFileDirectory(File file) file
を含むフォルダを開き、デフォルトのシステム・ファイル・マネージャでそのファイルを選択します。- パラメータ:
file
- ファイル- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(java.lang.String)
メソッドがファイルまたはその親への読取りアクセスを拒否するか、AWTPermission("showWindowWithoutWarningBanner")
権限を拒否するか、コール元のスレッドがサブプロセスの作成を許可されない場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.BROWSE_FILE_DIR
アクションをサポートしていない場合NullPointerException
-file
がnull
の場合IllegalArgumentException
- 指定したファイルまたはその親が存在しない場合- 導入されたバージョン:
- 9
-
moveToTrash
public boolean moveToTrash(File file) 指定したファイルをごみ箱に移動します。- パラメータ:
file
- ファイル- 戻り値:
- ファイルをゴミ箱に移動するとtrueを返します。
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkDelete(java.lang.String)
メソッドがファイルの削除を拒否した場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.MOVE_TO_TRASH
アクションをサポートしていない場合NullPointerException
-file
がnull
の場合IllegalArgumentException
- 指定されたファイルが存在しない場合- 導入されたバージョン:
- 9
-