- java.lang.Object
-
- javafx.application.Application
-
- javafx.application.Preloader
-
public abstract class Preloader extends Application
JavaFXアプリケーション用のオプションのプレローダーを定義するために拡張されたクラス。 アプリケーションにはプレローダーを含めることができます。プレローダーは、アプリケーション(特にブラウザに埋め込まれているアプリケーションやwebstart実行モードで起動されるアプリケーション)のロード操作を向上させるために使用されます。プレローダーはメイン・アプリケーションの前に起動し、起動操作をカスタマイズする小さなアプリケーションです。 プレローダーの処理内容は次のとおりです。
- アプリケーション・リソースのロードの進捗に関する通知を取得します
- エラーの通知を取得します
- アプリケーションの初期化および起動の通知を取得します
- アプリケーションが表示されるタイミングを決定します
デフォルトのプレローダーは、アプリケーションのStageの上に表示され、アプリケーションのStageはプレローダーが表示されるまでは表示されません。 プレローダーは、プレローダー自体を非表示にして、アプリケーションが表示されるようにする必要があります。 これは、application.start()が呼び出される直前にのみ行うことをお薦めします。そうしないと、アプリケーション自体が表示されません。
また、プレローダーは、アプリケーションと連携して、高度な視覚効果を実現したり、データを共有できます(ログイン画面の実装など)。 プレローダーが認識し、使用できるインタフェースをアプリケーションが実装している場合、プレローダーは、アプリケーションへの参照を取得し、連携のために必要なデータをアプリケーションから取得することができます。 一般に、アプリケーションがプレローダーを直接呼び出すような方法でプレローダーを設計することは、アプリケーションが署名され、プレローダーが署名されていない場合にユーザーの操作性が低下するためお薦めしません。
アプリケーションでプレローダーが指定されていない場合は、デフォルトのプレローダーが使用されます。 プレローダーのデフォルトの外観をカスタマイズできます(パラメータのセットは未定です)。
カスタム・プレローダーを実装する場合は次のルールに従ってください。
- Preloaderを拡張するクラスが存在する必要があります。
- プレローダーに必要なクラスが別のjarにパッケージ化されている必要があります。 このjarは未署名にすることをお薦めします。
- JNLPデプロイメント・ディスクリプタには、javafx-desc要素内の値としてクラスのフルネームを持つpreloader-class属性が含まれている必要があり、進捗に必要なjarには、download="progress"型が含まれている必要があります。
アプリケーションは、
notifyPreloader
メソッドを使用してプレローダーにカスタム通知を送信することもできます。 この方法で、プレローダーはアプリケーション初期化の進捗を表示することもできます。プレローダーは、FXスレッド・ルールなど、他のJavaFXアプリケーションと同じルールに従う必要があることに注意してください。 特に、クラス・コンストラクタおよびinit()メソッドは、FX以外のスレッドで呼び出され、start()はFXアプリケーション・スレッドで実行されます。 これは、アプリケーション・コンストラクタとinit()が、プレローダーのstart()と同時に実行されることも意味します。
プレローダー通知のコールバックは、FXアプリケーション・スレッドで配信されます。
停止(stop()が呼び出されるタイミングを含む)については未定です。
- 導入されたバージョン:
- JavaFX 2.0
-
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static class
Preloader.ErrorNotification
エラーをレポートするプレローダー通知。static interface
Preloader.PreloaderNotification
すべてのプレローダー通知のマーカー・インタフェース。static class
Preloader.ProgressNotification
進捗をレポートするプレローダー通知。static class
Preloader.StateChangeNotification
アプリケーション状態の変更を示す通知。-
クラス javafx.application.Applicationから継承されたネストされたクラス/インタフェース
Application.Parameters
-
-
フィールドのサマリー
-
クラス javafx.application.Applicationから継承されたフィールド
STYLESHEET_CASPIAN, STYLESHEET_MODENA
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 Preloader()
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 void
handleApplicationNotification(Preloader.PreloaderNotification info)
アプリケーション生成通知を示します。boolean
handleErrorNotification(Preloader.ErrorNotification info)
エラーが発生する場合に呼び出されます。void
handleProgressNotification(Preloader.ProgressNotification info)
ダウンロードの進捗を示します。void
handleStateChangeNotification(Preloader.StateChangeNotification info)
アプリケーション状態の変更を示します。-
クラス javafx.application.Applicationから継承されたメソッド
getHostServices, getParameters, getUserAgentStylesheet, init, launch, launch, notifyPreloader, setUserAgentStylesheet, start, stop
-
-
-
-
メソッドの詳細
-
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。
-
-