Web系開発メモ

Java, C#, HTML, CSS, JavaScript のことなどを書いてます。

Eclipse e(fx)clipseでHello Worldプログラムの実行(JavaFX開発)

Eclipse の e(fx)clipse と Scene Builder を使って、JavaFXHello World プログラムを実行する方法を書いていきます。

バージョン

ブログ執筆時の OS とバージョンは以下の通りです。

リンクをクリックすると、インストール方法の記事が開きます。

事前準備

上記プロダクトのインストールと設定が必要になります。EclipseJava が梱包されているので、もしかしたら Java 17 は必要ないかもしれません。

1. JavaFX プロジェクトの作成

Eclipse のメニューで「ファイル」→「新規」→「プロジェクト」を選択します。

ウィザードが表示されたら、

  1. JavaFX プロジェクト」をクリックします。
  2. 「次へ」をクリックします。

作成ウィンドウが表示されたら、

  1. 任意のプロジェクト名(例:hello-world-jfx)を入力します。
  2. 「module-info.java ...」のチェックを外します。
  3. 「完了」をクリックします。

2. module-info.java の削除

作成したプロジェクトに module-info.java がある場合は削除します。

3. 実行構成の作成

プロジェクトの Main.java を開いて、メニュー「実行」→「実行構成」をクリックします。

実行構成が表示されたら、

  1. Java アプリケーション」を右クリックします。
  2. 「新規構成」を右クリックします。

下のように新規構成が表示されたら、作成したプロジェクトの 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ドキュメントの作成

表示されたウィンドウを閉じて、

  1. application パッケージを右クリックします。
  2. 「新規」を選択します。
  3. 「その他」をクリックします。

下のウィザードが表示されるので、

JavaFX の「新規 FXML ドキュメント」をクリックして「次へ」を押します。

FXML ファイルのダイアログが表示されるので、

  1. 名前に MainScene と入力します。
  2. 「完了」をクリックします。

6. Scene Builder の起動

作成した FXML を右クリックして「SceneBuilder で開く」を押します。

Scene Builder が開いたら、

  1. 左下の「AnchorPane」を選択します。
  2. 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 でデザインしたウィンドウが表示されます。