Eclipse の e(fx)clipse と Scene Builder を使って、JavaFX の Hello World プログラムを実行する方法を書いていきます。
バージョン
ブログ執筆時の OS とバージョンは以下の通りです。
- Windows 11
- Java 17(Amazon Corretto)
- JavaFX SDK 19(Gluon)
- Scene Builder 18.0.0(Gluon)
- Eclipse 2022-09
- e(fx)clipse 3.8.0
リンクをクリックすると、インストール方法の記事が開きます。
事前準備
上記プロダクトのインストールと設定が必要になります。Eclipse に Java が梱包されているので、もしかしたら Java 17 は必要ないかもしれません。
1. JavaFX プロジェクトの作成
Eclipse のメニューで「ファイル」→「新規」→「プロジェクト」を選択します。
ウィザードが表示されたら、
- 「JavaFX プロジェクト」をクリックします。
- 「次へ」をクリックします。
作成ウィンドウが表示されたら、
- 任意のプロジェクト名(例:
hello-world-jfx
)を入力します。 - 「module-info.java ...」のチェックを外します。
- 「完了」をクリックします。
2. module-info.java の削除
作成したプロジェクトに module-info.java
がある場合は削除します。
3. 実行構成の作成
プロジェクトの Main.java
を開いて、メニュー「実行」→「実行構成」をクリックします。
実行構成が表示されたら、
- 「Java アプリケーション」を右クリックします。
- 「新規構成」を右クリックします。
下のように新規構成が表示されたら、作成したプロジェクトの Main クラスが対象になっていることを確認します。
4. VM引数の設定
新規構成の「引数」タブをクリックして、
VM 引数に以下の値を入力します。
--module-path "C:\javafx-sdk-19\lib" --add-modules javafx.controls,javafx.fxml
※ JavaFX SDK のインストール先(C:\javafx-sdk-19
)が違う場合は、パスを置き換えて頂ければと思います。
設定したら右下の「実行」ボタンを押して、何もないウィンドウが表示されることを確認します。
5. FXMLドキュメントの作成
表示されたウィンドウを閉じて、
- application パッケージを右クリックします。
- 「新規」を選択します。
- 「その他」をクリックします。
下のウィザードが表示されるので、
JavaFX の「新規 FXML ドキュメント」をクリックして「次へ」を押します。
FXML ファイルのダイアログが表示されるので、
- 名前に
MainScene
と入力します。 - 「完了」をクリックします。
6. Scene Builder の起動
作成した FXML を右クリックして「SceneBuilder で開く」を押します。
Scene Builder が開いたら、
- 左下の「AnchorPane」を選択します。
- Delete を押して削除します。
どうやら最初に存在している「AnchorPane」は機能しないようです。
7. MainSceneの編集
最初に「AnchorPane」を中央にドラッグ&ドロップします。
それから Label を追加して、インスペクタで Text を「Hello World」にして保存します。
8. Mainの編集
Eclipse に戻り、Main.java を以下の内容に変更します。
Main.java
package application; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { try { Parent root = FXMLLoader.load( getClass().getResource("MainScene.fxml") ); Scene scene = new Scene(root); primaryStage.setTitle("JavaFX Sample."); primaryStage.setScene(scene); primaryStage.show(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); } }
9. 実行
Eclipse のメニューで「実行」→「実行」をクリックすると、
Scene Builder でデザインしたウィンドウが表示されます。