Java好き

カテゴリ: JavaFX

このクラスからJavaFXが始まる。

スポンサードリンク

概要

このクラスを継承したクラスがないとJavaFXアプリケーションが作れない。

ライフサイクルがあるので、必要に応じてオーバーライドする。

基本

クラス図

クラス図

ライフサイクル

シーケンス的には次のようになる。

JavaFX起動シーケンス図

launch()メソッドが呼び出されると、Applicationのライフサイクルが始まる。(JavaFXアプリケーションが始まる)
よって、必要な処理をオーバーライドすることになる。

init()メソッド

その名の通り初期化に関する処理を行うが、このときJavaFXのスレッドはまだスタートしていない。
よって、StageやSceneに関するJavaFXの画面関連の初期処理はこのメソッド内ではしてはいけない。
次のstart()以降で行う。

start()メソッド

このメソッドの引数として、Stageが渡される。このStageにSceneなどを設定していく。
このメソッドが呼ばれた後に、JavaFXアプリケーションが待ち状態に入る。

stop()メソッド

終了時に呼び出される。

JavaFXを始めよう。

スポンサードリンク

概要

JavaFXを始めるには、JavaFXに必要なjarとScene Builderが不可欠。
またここでは、Eclipse+Scene Builderで特にプラグインなどは利用しない環境を作ることにする。

インストールと設定

JDK→Scene BUilder→Eclipseで設定する。

JDK7のダウンロード

最新のJDK7(update 25)には、JavaFXに必要なjarは含まれているので
最新の人はダウンロードしなくてよい。そうではない人はJDKをダウンロードする。

extフォルダに「jfxrt.jar」をコピーする

「C:\Program Files\Java\jdk1.7.0_25\jre\lib」のjfxrt.jarを
「C:\Program Files\Java\jdk1.7.0_25\jre\lib\ext」にコピーする。

JavaFXではjfxrt.jarが必要になるのでextフォルダにコピーしてjreで使えるようにする。
(このやり方以外にもEclipseのプロジェクトからjarを参照するでも可)

Scene Builderのダウンロードとインストール

http://www.oracle.com/technetwork/java/javafx/downloads/index.htmlから
Scene Builderをダウンロード。

インストールはYesマンでOK。

Eclipseの設定

設定としては、プロジェクトのJREが先ほどjfxrt.jarをコピーしたjreを使用するということ。

こんなふうになっているはず。

JavaFXプロジェクト

そして、これが起動できればOK

public class HelloWorldApplication extends Application {
    @Override public void start(Stage primeStage) {
        primeStage.setTitle("Hello World Application");
 
        FlowPane root = new FlowPane();
        Label label = new Label("Hello, World!");
        root.getChildren().add(label);
 
        Scene scene = new Scene(root, 300, 100);
        primeStage.setScene(scene);
 
        primeStage.show();
    }
 
    public static void main(String... args) {
        launch(args);
    }
}
7c0a5_1223_0f0549bd_ffd27caa