モジュール java.desktop
パッケージ java.awt

クラスDesktop


  • public class Desktop
    extends Object
    Desktopクラスを使用すると、様々なデスクトップ機能と対話できます。

    サポートされる操作には次のものがあります。

    • ユーザー・デフォルトのブラウザを起動して、指定されたURIを表示する。
    • オプションのmailto URIを指定して、ユーザー・デフォルトのメール・クライアントを起動する。
    • 登録済みのアプリケーションを起動して、指定されたファイルを開く、編集する、または印刷する。

    このクラスには、これらの操作に対応するメソッドが用意されています。 メソッドは、URIやファイルを処理するために、現在のプラットフォームで登録済みの関連付けられたアプリケーションを検索して起動します。 関連付けられたアプリケーションがない場合や、関連付けられたアプリケーションを起動できない場合は、例外がスローされます。 サポートされている操作および機能の完全なリストは、Desktop.Actionを参照してください。

    アプリケーションはURIまたはファイル・タイプに登録されます。 関連付けられたアプリケーションの登録、アクセス、および起動のメカニズムは、プラットフォームに応じて異なります。

    各操作は、Desktop.Actionクラスで表されるアクション・タイプです。

    ノート: アクションが呼び出されて関連付けられたアプリケーションが実行される場合、そのアプリケーションは、Javaアプリケーションが起動されたシステムと同じシステムで実行されます。

    導入されたバージョン:
    1.6
    関連項目:
    Desktop.Action
    • ネストされたクラスのサマリー

      ネストされたクラス 
      修飾子と型 クラス 説明
      static class  Desktop.Action
      アクションの種類を表します。
    • メソッドのサマリー

      すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      void addAppEventListener​(SystemEventListener listener)
      ネイティブ・システムからの通知をリスニングするSystemEventListenerのサブタイプを追加します。
      void browse​(URI uri)
      URIを表示するために、デフォルト・ブラウザを起動します。
      void browseFileDirectory​(File file)
      fileを含むフォルダを開き、デフォルトのシステム・ファイル・マネージャで選択します。
      void disableSuddenTermination()
      このアプリケーションが突然終了することを防ぎます。
      void edit​(File file)
      関連付けられているエディタ・アプリケーションを起動して、ファイルを編集用に開きます。
      void enableSuddenTermination()
      このアプリケーションを突然終了できるようにします。
      static Desktop getDesktop()
      現在のデスクトップ・コンテキストのDesktopインスタンスを返します。
      static boolean isDesktopSupported()
      このクラスが現在のプラットフォームでサポートされているかどうかを判定します。
      boolean isSupported​(Desktop.Action action)
      このアクションが現在のプラットフォームでサポートされているかどうかを判定します。
      void mail()
      ユーザー・デフォルトのメール・クライアントのメール作成ウィンドウを起動します。
      void mail​(URI mailtoURI)
      ユーザー・デフォルトのメール・クライアントのメール作成ウィンドウを起動し、 mailto: URIによって指定されたメッセージ・フィールドにデータを設定します。
      boolean moveToTrash​(File file)
      指定されたファイルをごみ箱に移動します。
      void open​(File file)
      関連付けられているアプリケーションを起動してファイルを開きます。
      void openHelpViewer()
      ネイティブ・ヘルプ・ビューア・アプリケーションを開きます。
      void print​(File file)
      関連付けられているアプリケーションの印刷コマンドを使用して、ネイティブ・デスクトップの印刷機能でファイルを印刷します。
      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)
      このアプリケーションの終了に使用するデフォルトの戦略を設定します。
    • メソッドの詳細

      • 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 - filenullの場合
        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 - urinullである場合
        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
      • setAboutHandler

        public void setAboutHandler​(AboutHandler aboutHandler)
        アプリケーションのカスタムバージョン情報ウィンドウを表示するハンドラをインストールします。

        AboutHandlernullに設定すると、デフォルトの動作に戻ります。

        パラメータ:
        aboutHandler - AboutHandler.handleAbout(AboutEvent)メッセージに応答するハンドラ
        例外:
        SecurityException - セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")権限が拒否された場合
        UnsupportedOperationException - 現在のプラットフォームがDesktop.Action.APP_ABOUTアクションをサポートしない場合
        導入されたバージョン:
        9
      • setOpenFileHandler

        public void setOpenFileHandler​(OpenFilesHandler openFileHandler)
        ファイルのリストを開くようにアプリケーションが要求されたときに通知されるハンドラをインストールします。
        実装上のノート:
        macOSの場合、通知は、Javaアプリケーションがバンドルされたアプリケーションであり、CFBundleDocumentTypes配列がInfo.plistに存在する場合にのみ送信されます。 Info.plistの詳細は、Apple Developer Documentationを参照してください。
        パラメータ:
        openFileHandler - ハンドラ
        例外:
        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 - ハンドラ
        例外:
        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、ログアウト、再起動、シャットダウン・リクエストは、アプリケーションを強制終了できます。
        例外:
        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では、ヘルプ・ブックがアプリケーション・バンドルに追加され、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 - filenullの場合
        IllegalArgumentException - 指定したファイルまたはその親が存在しない場合
        導入されたバージョン:
        9