LoginSignup
7
4

More than 1 year has passed since last update.

EclipseにJavaFXを導入するには【MacOSX向け,2021最新版】

Last updated at Posted at 2020-11-30

はじめに

MacでEclipseを使用してJavaのGUIプログラミングを行っていたのですが,JavaFXを導入しようとした際に手順が分からず,他の記事を参考にしたもののエラーが出て困ったため,いくつかのサイトを見て最終的に導入できた方法をまとめました.
(2020.11.30時点)
<追記>
Eclipseのバージョンを更新しても動作することを確認しました.
(2021.12.13時点)

動作環境

  • macOS Catalina(10.15.5)

  • Eclipse IDE for Java Developers (includes Incubating components)
    Version: 2020-09 (4.17.0)
    → Version: 2021-12 (4.22.0)
    brew cask install eclipse-java

  • e(fx)clipse(3.6.0)
    → Version: 3.7.0

  • javaSE 14 (他のバージョンについてもおそらくこの方法で大丈夫なはず)

導入手順

  1. Help -> Eclipse Marketplaceを選択
    スクリーンショット 2020-11-30 13.38.42.png

  2. 検索バーに「fx」と入力 -> e(fx)clipseをインストール
    スクリーンショット 2020-11-30 13.40.06.png

  3. https://gluonhq.com/products/javafx/
    上記URLのLatest Releaseから対応するSDKをダウンロード
    今回はJavaFX Mac OS X SDK
    スクリーンショット 2020-11-30 13.41.30.png

  4. ダウンロードしたopenjfx-15.0.1_osx-x64_bin-sdk.zipを解凍し,任意の場所に置く

  5. Eclipse -> Preferences,検索バーに「user」と入力

  6. Java -> Build Path -> User Librariesを選択
    スクリーンショット 2020-11-30 13.42.48.png

  7. 右側のNewから任意の名前を入力し,新規作成

  8. Add External JARs... を選択し,5.でダウンロードしたフォルダのlib内のjarファイルを全て選択

ここまででインストール関連の作業は終了

動作確認

  1. 新規プロジェクト -> OthersからJavaFX -> JavaFX Projectを選択
    スクリーンショット 2020-11-30 13.44.53.png

  2. Project nameを入力し,Next

  3. Create module-info.java fileのチェックを外す -> finish

  4. 作成したプロジェクトを右クリックし,Build Path -> Add Library
    スクリーンショット 2020-11-30 13.45.42.png

  5. User Libraryから導入手順8.で作成したライブラリーを選択

  6. 実行ボタンのプルダウンからRun Configurationsを開き,VM argumentsに

    --module-path SDK-path --add-modules javafx.controls,javafx.fxml

    を入力

    SDK-path は導入手順5.でダウンロードしたフォルダのlibの絶対パス

  7. その下のUse the -XstartOnFirstThread argument when launching with SWT のチェックを外す
    スクリーンショット 2020-11-30 13.48.16.png

これで白紙のウインドウが表示されたはず

JavaFXを導入するにあたってこれまでに発生したエラー

  • エラー: JavaFXランタイム・コンポーネントが不足しており、このアプリケーションの実行に必要です
    -> 動作確認6. が必要
  • Error occurred during initialization of boot layer
    java.lang.module.FindException: Module javafx.controls not found
    -> この記事の内容および手順で解決できると思います

    記事の手順で上記エラーが解決できなかった場合,デフォルトで用意されるJavaFX SDKとUser Librariesがプロジェクト内に両方存在している可能性があるので,その場合はデフォルトで用意されるJavaFX SDKを削除して試してみてください

おわりに

MacにJavaFXの環境構築を行う方法をまとめました.
動作しなかった点などありましたらコメントいただけるとありがたいです.

また,この方法で解決できた方はコメントやLGTMをしてもらえると助かります.

参考にしたサイト

https://qiita.com/tarosa0001/items/05ac653a091b7d1290f9#
https://style.potepan.com/articles/15319.html
https://stackoverflow.com/questions/53795661/javafx-modular-application-java-lang-module-findexception-module-javafx-contro

7
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4