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

クラスDesktop


  • public class Desktop
    extends Object
    Desktopクラスは、さまざまなデスクトップ機能との対話を可能にします。

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

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

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

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

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

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

    ノート: Desktopクラスのメソッドには、この仕様に記述されているものに加えてプラットフォーム依存のアクセス権が必要な場合があります。

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

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

      すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      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)
      アプリケーションのカスタム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)
      このアプリケーションを終了するために使用されるデフォルトの戦略を設定します。
    • メソッドの詳細

      • 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のプロトコルとパスによって決まります。

        呼出し元のスレッドに必要なアクセス権がなく、アプレット内から呼び出された場合は、AppletContext.showDocument()が使用されます。 同様に、呼出し元に必要なアクセス権がなく、Java Web Startedアプリケーション内から呼び出された場合は、BasicService.showDocument()が使用されます。

        パラメータ:
        uri - ユーザー・デフォルトのブラウザで表示するURI
        例外:
        NullPointerException - urinullの場合
        UnsupportedOperationException - 現在のプラットフォームがDesktop.Action.BROWSEアクションをサポートしていない場合
        IOException - ユーザー・デフォルトのブラウザが見つからないか起動できない場合、またはデフォルトのハンドラ・アプリケーションを起動できない場合
        SecurityException - セキュリティ・マネージャが存在し、AWTPermission("showWindowWithoutWarningBanner")アクセス権を拒否する場合。または呼出し元スレッドがサブプロセスの作成を許可されず、アプレットまたはJava Web Startedアプリケーション内から呼び出されない場合
        IllegalArgumentException - 必要なアクセス権を利用できず、URIをURLに変換できない場合
        関連項目:
        URI, AWTPermission, AppletContext
      • 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)
        アプリケーションのカスタムAboutウィンドウを表示するハンドラをインストールします。

        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 - 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")許可を拒否した場合。
        UnsupportedOperationException - 現在のプラットフォームがDesktop.Action.APP_HELP_VIEWERアクションをサポートしていない場合
        導入されたバージョン:
        9
      • setDefaultMenuBar

        public void setDefaultMenuBar​(JMenuBar menuBar)
        アクティブなフレームがない場合に使用するデフォルトのメニュー・バーを設定します。
        パラメータ:
        menuBar - 他のフレームがアクティブでないときに使用
        例外:
        SecurityException - セキュリティ・マネージャが存在し、RuntimePermission("canProcessApplicationEvents")許可を拒否した場合。
        UnsupportedOperationException - 現在のプラットフォームがDesktop.Action.APP_MENU_BARアクションをサポートしていない場合
        導入されたバージョン:
        9