0
1

More than 3 years have passed since last update.

Eclipse でJavaFXを使用する方法(Mac)

Posted at

最初に

とある課題でJava FXを使用してGUIを作らなければならなかったのですが、Eclipse上でJava FX Projectを作成、起動させる方法が非常にややこしくて忘れてしまいそうだったので、健忘録代わりに記載します。

まず前提として現在のEclipseで標準となっているJavaのComplilerはversion 16です。ただ、JavaFXはJava11までしか標準で入っていないため、Java11 のフルバージョンをインストールしたら自動でJava FXが使えるようになっている、、、、という記載だったのですが、僕の場合はうまくいかなかったです。
結局、AdoptOpenJDK 11.0.11をインストールしてパスを設定ー>その後JavaFXSDK をインストール->project毎にJavaFXを設定する
方法でしかうまくいきませんでした。

① javaJDK11, JavaFX SDKをインストールする

まず以下の記事を参考にJava11をMacにインストール+パスの設定をしてください。
なお、JDKにはAdoptOpenJDK 11.0.11 の他にも種類があるのですが、他のサイトからインストールしたJDKでは日本語の文字化けが起きてしまったため、以下のAdoptOpenJDK 11.0.11が推奨されます。

次にhttps://gluonhq.com/products/javafx/からJavaFX MacOSX JDK をインストール。適当なディレクトリーに配置する

② Eclipse をインストールする

Eclipseをインストールして立ち上げる際に最初のDefaultのJava SDKファイルを設定しなくてはいけないため、必ず上記でインストールしたAdoptOpenJDK 11.0.11を設定してください。

③ Eclipse のPreferenceからCompiler を11に設定する!

ここが、結構気がつくのに時間がかかったのですが、上記②の工程でJDK11を使用しているにもかかわらず、なぜかEclipseのdefault のCompilerでは16に設定されています。

Eclipse -> preference -> Complier で以下のように11に設定してください。
スクリーンショット 2021-07-18 18.38.57.png

④ JavaFX projectを作成してprojectのBuild Pathからユーザーライブラリを作成する

以下のようにプロジェクトのフォルダで右クリック→Run→Build Path->Configure Build Pathを開いてください
スクリーンショット 2021-07-18 18.48.10.png

そして以下のようにLibrariesからClasspathにカーソルを合わせて(Modulepathではない)、Add Library をおす
スクリーンショット 2021-07-18 18.50.28.png

User Librariesを選択
スクリーンショット 2021-07-18 18.52.44.png

適当な名前をつけてUser Librariesを作る。
作成後に右欄からAdd External JARs... を選択、以下のように予めインストールしておいた"Javafx-sdk-11.0.2"ファイルのlibフォルダからJarファイルを全て選択してAddする。
スクリーンショット 2021-07-18 18.55.33.png

④ Run Configuration からArgumentsの設定をする。

次にproject のRun-> Run Configuration -> Arguments を選択して以下のようにModuleパスを設定。また下の"Use the -XstartonFirstThread argument when launching with SWT"
のチェックボックスは外す

スクリーンショット 2021-07-18 18.59.20.png

すると以下のようにJavaFXのGUIが立ち上がるはず、、、、です。
スクリーンショット 2021-07-18 19.10.14.png

 終わりに

Javaに関する日本語の情報が非常に少なく、何度も投げ出しそうになりながらなんとか動作するようになりました。
非常に苦労したので、どなたかの参考になれば幸いです。 〜疲れた

0
1
0

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
0
1