最初に
とある課題で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に設定してください。
④ JavaFX projectを作成してprojectのBuild Pathからユーザーライブラリを作成する
以下のようにプロジェクトのフォルダで右クリック→Run→Build Path->Configure Build Pathを開いてください
そして以下のようにLibrariesからClasspathにカーソルを合わせて(Modulepathではない)、Add Library をおす
適当な名前をつけてUser Librariesを作る。
作成後に右欄からAdd External JARs... を選択、以下のように予めインストールしておいた"Javafx-sdk-11.0.2"ファイルのlibフォルダからJarファイルを全て選択してAddする。
④ Run Configuration からArgumentsの設定をする。
次にproject のRun-> Run Configuration -> Arguments を選択して以下のようにModuleパスを設定。また下の"Use the -XstartonFirstThread argument when launching with SWT"
のチェックボックスは外す
すると以下のようにJavaFXのGUIが立ち上がるはず、、、、です。
終わりに
Javaに関する日本語の情報が非常に少なく、何度も投げ出しそうになりながらなんとか動作するようになりました。
非常に苦労したので、どなたかの参考になれば幸いです。 〜疲れた