- java.lang.Object
 - 
- javafx.application.Application
 
 
- 
- 直系の既知のサブクラス:
 Preloader
public abstract class Application extends Object
JavaFXアプリケーションによる拡張元となるApplicationクラスライフサイクル
JavaFXアプリケーションのエントリ・ポイントはApplicationクラスです。 アプリケーションが起動されると常に、JavaFXランタイムにより次のことがこの順序で実行されます。
- すでに(詳細は
Platform.startup(Runnable)を参照してください)を開始していない場合は、JavaFXのランタイムを開始 - 指定されたApplicationクラスのインスタンスを構築します。
 init()メソッドを呼び出します。start(javafx.stage.Stage)メソッドを呼び出します。- 次のいずれかが発生した場合、アプリケーションの完了を待機します。
 
- アプリケーションにより
Platform.exit()が呼び出される場合 - 最後のウィンドウが閉じられ、かつ
PlatformのimplicitExit属性がtrueである場合 
 - アプリケーションにより
 stop()メソッドを呼び出します。
startは抽象メソッドであり、オーバーライドされる必要があることに注意してください。initメソッドとstopメソッドには、何も行わない具象実装があります。Applicationサブクラスはパブリック宣言され、パブリック引数なしコンストラクタを持たなければなりません。JavaFXアプリケーションを明示的に終了するには、
Platform.exit()を呼び出すことをお薦めします。 代替方法としてSystem.exit(int)を直接呼び出すことが許容されますが、Applicationはstop()メソッドを実行できなくなります。JavaFXアプリケーションは、FXツールキットが終了した後、またはシャットダウンフックから(つまり、
stop()メソッドが戻った後、またはSystem.exit(int)が呼び出された後に) JavaFXの使用を試みることはできません。アプリケーションをモジュールとしてデプロイ
Applicationサブクラスが名前付きモジュールにある場合、そのクラスはjavafx.graphicsモジュールからアクセス可能でなければなりません。 それ以外の場合は、アプリケーションの起動時に例外がスローされます。 つまり、クラス自体がpublic宣言されていることに加えて、モジュールは少なくともjavafx.graphicsモジュールに含まれているパッケージを公開する必要があります。com.foo.MyApplicationがfoo.appモジュールである場合、例えば、module-info.javaは次のようになります:module foo.app { exports com.foo to javafx.graphics; }パラメータ
アプリケーションのパラメータは、
init()メソッドからgetParameters()メソッドを呼び出して使用できるか、またはinitメソッドが呼び出された後にいつでも使用できます。スレッド
JavaFXは、アプリケーションのstartメソッドの実行、入力イベントの処理、およびアニメーション・タイムラインの実行用のアプリケーション・スレッドを作成します。 JavaFXの
SceneやStageオブジェクトの作成、およびライブ・オブジェクト(シーンにすでに接続されているオブジェクト)に対するシーン・グラフ操作の変更は、JavaFXアプリケーション・スレッドで実行される必要があります。Java起動ツールは、JavaFXアプリケーション・スレッド上で指定されたApplicationクラスをロードおよび初期化します。 Applicationクラスにmainメソッドがない場合、またはmainメソッドがApplication.launch()を呼び出す場合は、ApplicationのインスタンスがJavaFXアプリケーション・スレッドに構築されます。
initメソッドは、JavaFXアプリケーション・スレッドではなく起動ツール・スレッドで呼び出されます。 これは、アプリケーションがinitメソッド内にSceneまたはStageを構築できないことを意味します。 アプリケーションは、initメソッド内に他のJavaFXオブジェクトを構築できます。イベントのディスパッチ中、アニメーション・タイムラインの実行中、またはその他のコード中にJavaFXアプリケーション・スレッドで発生したすべての未処理例外は、スレッドの
uncaught exception handlerに転送されます。例
次の例は、単純なJavaFXアプリケーションを示しています。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.shape.Circle; import javafx.stage.Stage; public class MyApp extends Application { public void start(Stage stage) { Circle circ = new Circle(40, 40, 30); Group root = new Group(circ); Scene scene = new Scene(root, 400, 300); stage.setTitle("My JavaFX Application"); stage.setScene(scene); stage.show(); } }この例では次が生成されます。

- 導入されたバージョン:
 - JavaFX 2.0
 - 関連項目:
 Platform
 
- 
- 
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static classApplication.Parametersアプリケーションのパラメータのセットをカプセル化します。 
- 
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static StringSTYLESHEET_CASPIANCaspianテーマのユーザー・エージェント・スタイルシートの定数。static StringSTYLESHEET_MODENAModenaテーマのユーザー・エージェント・スタイルシートの定数。 
- 
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 Application()新規Applicationインスタンスを構築します。 
- 
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 HostServicesgetHostServices()このアプリケーションのHostServicesプロバイダを取得します。Application.ParametersgetParameters()このアプリケーションのパラメータ(コマンドラインで渡された引数、およびアプレットやWebStartアプリケーションのJNLPファイルで指定されたパラメータを含む)を取得します。static StringgetUserAgentStylesheet()アプリケーション全体で使用されるユーザー・エージェント・スタイルシートを取得します。voidinit()アプリケーション初期化メソッド。static voidlaunch(Class<? extends Application> appClass, String... args)スタンドアロン・アプリケーションを起動します。static voidlaunch(String... args)スタンドアロン・アプリケーションを起動します。voidnotifyPreloader(Preloader.PreloaderNotification info)アプリケーション生成通知を使用してプレローダーに通知します。static voidsetUserAgentStylesheet(String url)アプリケーション全体で使用されるユーザー・エージェント・スタイルシートを設定します。abstract voidstart(Stage primaryStage)すべてのJavaFXアプリケーションのメイン・エントリ・ポイント。voidstop()このメソッドは、アプリケーションの停止が必要な場合に呼び出され、アプリケーションが終了してリソースを破棄するための準備をする都合のよい機会を提供します。 
 - 
 
- 
- 
メソッドの詳細
- 
launch
public static void launch(Class<? extends Application> appClass, String... args)
スタンドアロン・アプリケーションを起動します。 このメソッドは、通常、main()メソッドから呼び出されます。 複数回呼び出すことはできず、複数回呼び出した場合は例外がスローされます。launchメソッドは、Platform.exitを呼び出すか、すべてのアプリケーション・ウィンドウを閉じてアプリケーションが終了するまで戻ってきません。
appClass引数で指定されたクラスは、少なくともjavafx.graphicsモジュールとの間でexported(またはopen)であるパッケージ内のパブリック引数なしコンストラクタを持つApplicationのパブリック・サブ・クラスでなければなりません。そうしないとRuntimeExceptionがスローされます。一般的な使用方法は次のとおりです。
public static void main(String[] args) { Application.launch(MyApp.class, args); }ここで、MyAppはApplicationのサブクラスです。- パラメータ:
 appClass- 起動ツールによって構築および実行されるアプリケーション・クラス。args- アプリケーションに渡されるコマンドライン引数。 アプリケーションは、getParameters()メソッドを使用してこれらのパラメータを取得できます。- 例外:
 IllegalStateException- このメソッドが2回以上呼び出された場合。IllegalArgumentException-appClassがApplicationのサブクラスでない場合。RuntimeException- JavaFXランタイムを起動する際にエラーが発生した場合、またはアプリケーション・クラスが(クラスが公開されていないか、エクスポートされたパッケージにない場合)を構築できない場合、またはApplicationコンストラクタ、initメソッド、startメソッド、またはstopメソッドによって例外またはエラーがスローされた場合。
 
- 
launch
public static void launch(String... args)
スタンドアロン・アプリケーションを起動します。 このメソッドは、通常、main()メソッドから呼び出されます。 複数回呼び出すことはできず、複数回呼び出した場合は例外がスローされます。 これは、launch(TheClass.class, args)と等価です。TheClassは、launchを呼び出したメソッドをすぐに囲むクラスです。 少なくともjavafx.graphicsモジュールとの間でexported(またはopen)であるパッケージ内で、パブリック引数なしコンストラクタを持つApplicationのパブリック・サブ・クラスでなければなりません。そうしないと、RuntimeExceptionがスローされます。launchメソッドは、Platform.exitを呼び出すか、すべてのアプリケーション・ウィンドウを閉じてアプリケーションが終了するまで戻ってきません。
一般的な使用方法は次のとおりです。
public static void main(String[] args) { Application.launch(args); }- パラメータ:
 args- アプリケーションに渡されるコマンドライン引数。 アプリケーションは、getParameters()メソッドを使用してこれらのパラメータを取得できます。- 例外:
 IllegalStateException- このメソッドが2回以上呼び出された場合。RuntimeException- JavaFXランタイムを起動する際にエラーが発生した場合、またはアプリケーション・クラスが(クラスが公開されていないか、エクスポートされたパッケージにない場合)を構築できない場合、またはApplicationコンストラクタ、initメソッド、startメソッド、またはstopメソッドによって例外またはエラーがスローされた場合。
 
- 
init
public void init() throws Exceptionアプリケーション初期化メソッド。 このメソッドは、Applicationクラスがロードおよび構築された直後に呼び出されます。 アプリケーションは、このメソッドをオーバーライドして、アプリケーションを実際に起動する前に初期化を実行できます。Applicationクラスで提供されるこのメソッドの実装では何も行いません。
注意: このメソッドはJavaFXアプリケーション・スレッドでは呼び出されません。 アプリケーションは、このメソッド内でSceneまたはStageを構築できません。 アプリケーションは、このメソッド内でその他のJavaFXオブジェクトを構築できます。
- 例外:
 Exception- 何かがうまくいかない場合
 
- 
start
public abstract void start(Stage primaryStage) throws Exception
すべてのJavaFXアプリケーションのメイン・エントリ・ポイント。 startメソッドは、initメソッドが戻った後、およびシステムでアプリケーションの実行開始の準備が整った後に呼び出されます。注意: このメソッドはJavaFXアプリケーション・スレッドで呼び出されます。
- パラメータ:
 primaryStage- アプリケーション・シーンを設定できる、このアプリケーションのプライマリ・ステージ。 プライマリ・ステージは、アプリケーションがアプレットとして起動された場合はブラウザに埋め込まれます。 アプリケーションは、必要な場合は他のステージを作成できますが、それらはプライマリ・ステージではなく、ブラウザに埋め込まれません。- 例外:
 Exception- 何かがうまくいかない場合
 
- 
stop
public void stop() throws Exceptionこのメソッドは、アプリケーションの停止が必要な場合に呼び出され、アプリケーションが終了してリソースを破棄するための準備をする都合のよい機会を提供します。Applicationクラスで提供されるこのメソッドの実装では何も行いません。
注意: このメソッドはJavaFXアプリケーション・スレッドで呼び出されます。
- 例外:
 Exception- 何かがうまくいかない場合
 
- 
getHostServices
public final HostServices getHostServices()
このアプリケーションのHostServicesプロバイダを取得します。 このアプリケーションのコード・ベースおよびドキュメント・ベースを取得する機能、および包含Webページにアクセスする機能を提供します。- 戻り値:
 - HostServicesプロバイダ
 
 
- 
getParameters
public final Application.Parameters getParameters()
このアプリケーションのパラメータ(コマンドラインで渡された引数、およびアプレットやWebStartアプリケーションのJNLPファイルで指定されたパラメータを含む)を取得します。注意: nullが返されるため、このメソッドをApplicationコンストラクタから呼び出さないでください。 init()メソッドで呼び出すか、またはその後いつでも呼び出すことができます。
- 戻り値:
 - このアプリケーションのパラメータ、またはコンストラクタから呼び出された場合はnull。
 
 
- 
notifyPreloader
public final void notifyPreloader(Preloader.PreloaderNotification info)
アプリケーション生成通知を使用してプレローダーに通知します。 アプリケーション・コードは、プレローダーのPreloader.handleApplicationNotificationメソッドに配信されるPreloaderNotificationを指定して、このメソッドを呼び出します。 これは、主に、長時間のアプリケーション初期化ステップ中にプレローダーで進捗を表示する必要があるアプリケーションの場合に有用です。注意: 通知はプレローダーのhandleApplicationNotification()メソッドにのみ配信されるため、つまり、このメソッドをProgressNotificationで呼び出す場合、
Preloader.handleProgressNotificationメソッドには配信されません。- パラメータ:
 info- アプリケーション生成プレローダー通知
 
- 
getUserAgentStylesheet
public static String getUserAgentStylesheet()
アプリケーション全体で使用されるユーザー・エージェント・スタイルシートを取得します。 すべてのUIコントロールおよびその他のノードのデフォルトのスタイルを提供するために使用されます。 値にnullを指定すると、プラットフォームのデフォルトのスタイルシートが使用されます。注意: このメソッドはJavaFXアプリケーション・スレッドで呼び出される必要があります。
- 戻り値:
 - 文字列としてのスタイルシートへのURL。
 - 導入されたバージョン:
 - JavaFX 8.0
 
 
- 
setUserAgentStylesheet
public static void setUserAgentStylesheet(String url)
アプリケーション全体で使用されるユーザー・エージェント・スタイルシートを設定します。 すべてのUIコントロールおよびその他のノードのデフォルトのスタイルを提供するために使用されます。 JavaFXの各リリースにはこれに対して新しいデフォルト値が存在する可能性があるため、整合性を保証する必要がある場合は、このメソッドを呼び出して、アプリケーションに使用するデフォルトを選択する必要があります。 値にnullを指定すると、プラットフォームのデフォルトのスタイルシートが復元されます。 このプロパティは、-Djavafx.userAgentStylesheetUrl=[URL]を使用してコマンドラインで設定することもできます。コマンドラインで設定すると、コードのこのメソッドを使用して設定したすべてのものがオーバーライドされます。注意: このメソッドはJavaFXアプリケーション・スレッドで呼び出される必要があります。
- パラメータ:
 url- 文字列としてのスタイルシートへのURL。- 導入されたバージョン:
 - JavaFX 8.0
 
 
 - 
 
 -