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