はじめに
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 (他のバージョンについてもおそらくこの方法で大丈夫なはず)
導入手順
-
https://gluonhq.com/products/javafx/
上記URLのLatest Releaseから対応するSDKをダウンロード
今回はJavaFX Mac OS X SDK
-
ダウンロードしたopenjfx-15.0.1_osx-x64_bin-sdk.zipを解凍し,任意の場所に置く
-
Eclipse -> Preferences
,検索バーに「user」と入力 -
右側のNewから任意の名前を入力し,新規作成
-
Add External JARs...
を選択し,5.でダウンロードしたフォルダのlib内のjarファイルを全て選択
動作確認
-
Project name
を入力し,Next -
Create module-info.java file
のチェックを外す -> finish -
User Library
から導入手順8.で作成したライブラリーを選択 -
実行ボタンのプルダウンからRun Configurationsを開き,VM argumentsに
--module-path SDK-path --add-modules javafx.controls,javafx.fxml
を入力3
SDK-path
は導入手順5.でダウンロードしたフォルダのlibの絶対パス -
その下の
Use the -XstartOnFirstThread argument when launching with SWT
のチェックを外す
これで白紙のウインドウが表示されたはず
JavaFXを導入するにあたってこれまでに発生したエラー
- エラー: JavaFXランタイム・コンポーネントが不足しており、このアプリケーションの実行に必要です
-> 動作確認6. が必要 - Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found
-> この記事の内容および手順で解決できると思います3
記事の手順で上記エラーが解決できなかった場合,デフォルトで用意されるJavaFX SDKとUser Librariesがプロジェクト内に両方存在している可能性があるので,その場合はデフォルトで用意されるJavaFX SDKを削除して試してみてください
おわりに
MacにJavaFXの環境構築を行う方法をまとめました.
動作しなかった点などありましたらコメントいただけるとありがたいです.
また,この方法で解決できた方はいいね等よろしくおねがいします.