- java.lang.Object
-
- java.awt.Desktop
-
public class Desktop extends Object
Desktopクラスは、さまざまなデスクトップ機能との対話を可能にします。サポートされる操作には次のものがあります。
- ユーザー・デフォルトのブラウザを起動して、指定されたURIを表示する。
- オプションの
mailtoURIを指定して、ユーザー・デフォルトのメール・クライアントを起動する。 - 登録済みのアプリケーションを起動して、指定されたファイルを開く、編集する、または印刷する。
このクラスには、これらの操作に対応するメソッドが用意されています。 メソッドは、URIやファイルを処理するために、現在のプラットフォームで登録済みの関連付けられたアプリケーションを検索して起動します。 関連付けられたアプリケーションがない場合や、関連付けられたアプリケーションを起動できない場合は、例外がスローされます。 サポートされている操作と機能の完全なリストについては、
Desktop.Actionを参照してください。アプリケーションは、URIまたはファイル型に登録されます。 関連付けられたアプリケーションの登録、アクセス、および起動のメカニズムは、プラットフォームに応じて異なります。
各操作は、
Desktop.Actionクラスで表されるアクション・タイプです。ノート: アクションが呼び出されて関連付けられたアプリケーションが実行される場合、そのアプリケーションは、Javaアプリケーションが起動されたシステムと同じシステムで実行されます。
- 導入されたバージョン:
- 1.6
- 関連項目:
Desktop.Action
-
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static classDesktop.Actionアクションの種類を表します。
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 voidaddAppEventListener(SystemEventListener listener)SystemEventListenerのサブ型を追加して、ネイティブ・システムからの通知を待ち受けます。voidbrowse(URI uri)URIを表示するために、デフォルト・ブラウザを起動します。voidbrowseFileDirectory(File file)fileを含むフォルダを開き、デフォルトのシステム・ファイル・マネージャでそのファイルを選択します。voiddisableSuddenTermination()このアプリケーションが突然終了しないようにします。voidedit(File file)関連付けられているエディタ・アプリケーションを起動して、ファイルを編集用に開きます。voidenableSuddenTermination()このアプリケーションを突然終了させます。static DesktopgetDesktop()現在のデスクトップ・コンテキストのDesktopインスタンスを返します。static booleanisDesktopSupported()このクラスが現在のプラットフォームでサポートされているかどうかを判定します。booleanisSupported(Desktop.Action action)このアクションが現在のプラットフォームでサポートされているかどうかを判定します。voidmail()ユーザー・デフォルトのメール・クライアントのメール作成ウィンドウを起動します。voidmail(URI mailtoURI)ユーザー・デフォルトのメール・クライアントのメール作成ウィンドウを起動し、mailto:URIによって指定されたメッセージ・フィールドにデータを設定します。booleanmoveToTrash(File file)指定したファイルをごみ箱に移動します。voidopen(File file)関連付けられているアプリケーションを起動してファイルを開きます。voidopenHelpViewer()ネイティブ・ヘルプ・ビューア・アプリケーションを開きます。voidprint(File file)関連付けられているアプリケーションの印刷コマンドを使用して、ネイティブ・デスクトップの印刷機能でファイルを印刷します。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)このアプリケーションを終了するために使用されるデフォルトの戦略を設定します。
-
-
-
メソッドの詳細
-
getDesktop
public static Desktop getDesktop()
現在のデスクトップ・コンテキストのDesktopインスタンスを返します。 一部のプラットフォームでは、Desktop APIがサポートされていない場合があります。現在のデスクトップがサポートされているかどうかを調べるには、isDesktopSupported()メソッドを使用してください。- 戻り値:
- デスクトップ・インスタンス
- 例外:
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(Action)はtrue返すことがありますが、対応するアクション・メソッドはIOExceptionをスローします。- パラメータ:
action- 指定されたDesktop.Action- 戻り値:
- 指定されたアクションが現在のプラットフォームでサポートされている場合は
true、そうでない場合はfalse - 関連項目:
Desktop.Action
-
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")アクセス権を許可しない場合、または呼出し側スレッドがサブプロセスの作成を許可されていない場合- 関連項目:
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を処理できない場合、指定されたタイプのURIsを処理するために登録されたアプリケーションが呼び出されます。 このアプリケーションは、URIクラスで定義されている、URIのプロトコルとパスによって決まります。- パラメータ:
uri- ユーザー・デフォルトのブラウザで表示するURI- 例外:
NullPointerException-uriがnullである場合UnsupportedOperationException- 現在のプラットフォームがDesktop.Action.BROWSEアクションをサポートしていない場合IOException- ユーザー・デフォルトのブラウザが見つからないか起動できない場合、またはデフォルトのハンドラ・アプリケーションを起動できない場合SecurityException- セキュリティ・マネージャが存在し、AWTPermission("showWindowWithoutWarningBanner")アクセス権を拒否する場合、または呼出し元スレッドがサブプロセスの作成を許可されていない場合- 関連項目:
URI,AWTPermission
-
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の仕様の詳細は、「The mailto URL scheme (RFC 2368)」を参照してください。- パラメータ:
mailtoURI- 指定されたmailto:URI- 例外:
NullPointerException- 指定されたURIがnullである場合IllegalArgumentException- URIスキームが"mailto"でない場合UnsupportedOperationException- 現在のプラットフォームがDesktop.Action.MAILアクションをサポートしていない場合IOException- ユーザー・デフォルトのメール・クライアントが見つからないか、起動できない場合SecurityException- セキュリティ・マネージャが存在し、AWTPermission("showWindowWithoutWarningBanner")アクセス権を拒否する場合、または呼出し元スレッドがサブプロセスの作成を許可されていない場合- 関連項目:
URI,AWTPermission
-
addAppEventListener
public void addAppEventListener(SystemEventListener listener)
SystemEventListenerのサブ型を追加して、ネイティブ・システムからの通知を待ち受けます。 SystemEventListenerサブ型が現在のプラットフォームでサポートされていない場合は無効です。- パラメータ:
listener- listener- 例外:
SecurityException- セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")許可を拒否した場合- 導入されたバージョン:
- 9
- 関連項目:
AppForegroundListener,AppHiddenListener,AppReopenedListener,ScreenSleepListener,SystemSleepListener,UserSessionListener
-
removeAppEventListener
public void removeAppEventListener(SystemEventListener listener)
SystemEventListenerのサブ型を削除して、ネイティブ・システムからの通知を待ち受けます。 SystemEventListenerサブ型が現在のプラットフォームでサポートされていない場合は無効です。- パラメータ:
listener- listener- 例外:
SecurityException- セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")許可を拒否した場合- 導入されたバージョン:
- 9
- 関連項目:
AppForegroundListener,AppHiddenListener,AppReopenedListener,ScreenSleepListener,SystemSleepListener,UserSessionListener
-
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
- 関連項目:
QuitStrategy
-
enableSuddenTermination
public void enableSuddenTermination()
このアプリケーションを突然終了させます。 このメソッドを呼び出して、アプリケーションの状態が保存されたことを通知し、通知を終了する必要はありません。 アプリケーションを終了可能にしておくと、終了するように要求されたときにアプリケーションでページングが再開されるのを避けることができるため、ユーザー・エクスペリエンスが向上します。 ノート: 突然終了を有効にすると、QuitHandlerに通知したり、シャットダウン・フックを実行せずにアプリケーションを終了することができます。 たとえば、ユーザーが開始したCmd-Q、ログアウト、再起動、またはシャットダウン・リクエストは、アプリケーションを効果的に"kill -KILL"できます。- 例外:
SecurityException- セキュリティ・マネージャが存在し、呼び出し元がSystem.exitを呼び出すことを許可しない場合、またはRuntimePermission("canProcessApplicationEvents")許可を拒否する場合UnsupportedOperationException- 現在のプラットフォームがDesktop.Action.APP_SUDDEN_TERMINATIONアクションをサポートしていない場合- 導入されたバージョン:
- 9
- 関連項目:
disableSuddenTermination()
-
disableSuddenTermination
public void disableSuddenTermination()
このアプリケーションが突然終了しないようにします。 このメソッドを呼び出して、アプリケーションに保存されていない状態があることを通知し、通知なしで終了しないようにします。- 例外:
SecurityException- セキュリティ・マネージャが存在し、呼び出し元がSystem.exitを呼び出すことを許可しない場合、またはRuntimePermission("canProcessApplicationEvents")許可を拒否する場合UnsupportedOperationException- 現在のプラットフォームがDesktop.Action.APP_SUDDEN_TERMINATIONアクションをサポートしていない場合- 導入されたバージョン:
- 9
- 関連項目:
enableSuddenTermination()
-
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
-
-