モジュール javafx.graphics
パッケージ javafx.application

クラスPreloader



  • public abstract class Preloader
    extends Application
    JavaFXアプリケーション用のオプションのプレローダーを定義するために拡張されたクラス。 アプリケーションにはプレローダーを含めることができます。プレローダーは、アプリケーション(特にブラウザに埋め込まれているアプリケーションやwebstart実行モードで起動されるアプリケーション)のロード操作を向上させるために使用されます。

    プレローダーはメイン・アプリケーションの前に起動し、起動操作をカスタマイズする小さなアプリケーションです。 プレローダーの処理内容は次のとおりです。

    • アプリケーション・リソースのロードの進捗に関する通知を取得します
    • エラーの通知を取得します
    • アプリケーションの初期化および起動の通知を取得します
    • アプリケーションが表示されるタイミングを決定します

    デフォルトのプレローダーは、アプリケーションのStageの上に表示され、アプリケーションのStageはプレローダーが表示されるまでは表示されません。 プレローダーは、プレローダー自体を非表示にして、アプリケーションが表示されるようにする必要があります。 これは、application.start()が呼び出される直前にのみ行うことをお薦めします。そうしないと、アプリケーション自体が表示されません。

    また、プレローダーは、アプリケーションと連携して、高度な視覚効果を実現したり、データを共有できます(ログイン画面の実装など)。 プレローダーが認識し、使用できるインタフェースをアプリケーションが実装している場合、プレローダーは、アプリケーションへの参照を取得し、連携のために必要なデータをアプリケーションから取得することができます。 一般に、アプリケーションがプレローダーを直接呼び出すような方法でプレローダーを設計することは、アプリケーションが署名され、プレローダーが署名されていない場合にユーザーの操作性が低下するためお薦めしません。

    アプリケーションでプレローダーが指定されていない場合は、デフォルトのプレローダーが使用されます。 プレローダーのデフォルトの外観をカスタマイズできます(パラメータのセットは未定です)。

    カスタム・プレローダーを実装する場合は次のルールに従ってください。

    1. Preloaderを拡張するクラスが存在する必要があります。
    2. プレローダーに必要なクラスが別のjarにパッケージ化されている必要があります。 このjarは未署名にすることをお薦めします。
    3. JNLPデプロイメント・ディスクリプタには、javafx-desc要素内の値としてクラスのフルネームを持つpreloader-class属性が含まれている必要があり、進捗に必要なjarには、download="progress"型が含まれている必要があります。

    アプリケーションは、notifyPreloaderメソッドを使用してプレローダーにカスタム通知を送信することもできます。 この方法で、プレローダーはアプリケーション初期化の進捗を表示することもできます。

    プレローダーは、FXスレッド・ルールなど、他のJavaFXアプリケーションと同じルールに従う必要があることに注意してください。 特に、クラス・コンストラクタおよびinit()メソッドは、FX以外のスレッドで呼び出され、start()はFXアプリケーション・スレッドで実行されます。 これは、アプリケーション・コンストラクタとinit()が、プレローダーのstart()と同時に実行されることも意味します。

    プレローダー通知のコールバックは、FXアプリケーション・スレッドで配信されます。

    停止(stop()が呼び出されるタイミングを含む)については未定です。

    導入されたバージョン:
    JavaFX 2.0
    • コンストラクタの詳細

      • Preloader

        public Preloader​()
    • メソッドの詳細

      • handleProgressNotification

        public void handleProgressNotification​(Preloader.ProgressNotification info)
        ダウンロードの進捗を示します。 このメソッドは、FXランタイムにより呼び出され、アプリケーション・リソースがロードされている間の進捗を示します。 これは、notifyPreloaderへ送信されるProgressNotificationを配信するために、呼び出されることはありません。

        Preloaderクラスで提供されるこのメソッドの実装では何も行いません。

        パラメータ:
        info - 進捗の通知
      • handleStateChangeNotification

        public void handleStateChangeNotification​(Preloader.StateChangeNotification info)
        アプリケーション状態の変更を示します。 このメソッドは、アプリケーションのライフサイクルの一部として、FXランタイムにより呼び出されます。

        Preloaderクラスで提供されるこのメソッドの実装では何も行いません。

        パラメータ:
        info - 状態変更の通知
      • handleApplicationNotification

        public void handleApplicationNotification​(Preloader.PreloaderNotification info)
        アプリケーション生成通知を示します。 このメソッドは、FXランタイムにより呼び出され、notifyPreloaderを介して送信される通知を配信します。

        アプリケーションは、このメソッドを直接呼び出すのではなく、notifyPreloaderをかわりに使用して、混合コード・ダイアログの問題を回避する必要があります。

        Preloaderクラスで提供されるこのメソッドの実装では何も行いません。

        パラメータ:
        info - アプリケーション生成通知
      • handleErrorNotification

        public boolean handleErrorNotification​(Preloader.ErrorNotification info)
        エラーが発生する場合に呼び出されます。

        Preloaderクラスによって提供されるこのメソッドの実装ではfalseが返され、デフォルトのエラー・ハンドラがメッセージをユーザーに表示する必要があることを示します。

        パラメータ:
        info - このエラーの原因を説明するエラー通知
        戻り値:
        プレローダーによってエラーがユーザーに表示され、追加の視覚化が不要な場合はtrue、それ以外の場合はfalse。