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) アプリケーションのカスタム「バージョン情報」ウィンドウを表示するハンドラをインストールします。void
setDefaultMenuBar
(JMenuBar menuBar) アクティブなフレームがないときに使用するデフォルトのメニュー・バーを設定します。void
setOpenFileHandler
(OpenFilesHandler openFileHandler) アプリケーションがファイルのリストを開くように要求されたときに通知されるハンドラをインストールします。void
setOpenURIHandler
(OpenURIHandler openURIHandler) アプリケーションがURLを開くように要求されたときに通知されるハンドラをインストールします。void
setPreferencesHandler
(PreferencesHandler preferencesHandler) アプリケーションのカスタム・プリファレンス・ウィンドウを表示するハンドラをインストールします。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) アプリケーションのカスタム「バージョン情報」ウィンドウを表示するハンドラをインストールします。AboutHandler
をnull
に設定すると、デフォルトの動作に戻ります。- パラメータ:
aboutHandler
-AboutHandler.handleAbout(AboutEvent)
メッセージに応答するハンドラ- 例外:
SecurityException
- セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")
許可を拒否した場合UnsupportedOperationException
- 現在のプラットフォームがDesktop.Action.APP_ABOUT
アクションをサポートしていない場合- 導入されたバージョン:
- 9
-
setPreferencesHandler
public void setPreferencesHandler(PreferencesHandler preferencesHandler) アプリケーションのカスタム・プリファレンス・ウィンドウを表示するハンドラをインストールします。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の場合、ヘルプ・ブックがアプリケーション・バンドルに追加され、Info.plistにCFBundleHelpBookFolderで登録されている場合は、ネイティブ・ヘルプ・ビューア・アプリケーションが開きます
- 例外:
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
-