最近のJava 11リリースでは、JavaFXはJDKに含まれなくなりました。既存のJavaFXプロジェクトがあります。 Java 10プロジェクトからJava 11に変更する方法に興味があります。Java 11を正しくインストールしたことは確かです。デフォルトのSDKをJava 10からJava 11.に変更できます。JavaFXをJava 11で動作させる方法がわかりません。
最新のJavaFXリリース ここ をダウンロードしました。他のJDKが含まれているJavaフォルダに解凍しましたが、現時点ではどうすればよいかわかりません。 MavenまたはGradleを使用してプロジェクトを接続する方法を説明する長いガイドをいくつか読んだことがありますが、これらを使用したことはありません。 IntelliJメニューにJavaFXサポートを追加する方法はありますか?
ご使用のオペレーティングシステムに適切なJavaFX SDKをダウンロードし、希望の場所(/ Users/your-user/Downloads/javafx-sdk-11など)に解凍します。
JavaFXプロジェクトを作成するHelloFXなどのプロジェクトの名前と場所を指定します。プロジェクトを開くと、JavaFXクラスが認識されません。
[ファイル]-> [プロジェクト構造]-> [プロジェクト]に移動し、プロジェクトSDKを11に設定します。言語レベルを11に設定することもできます。JDK11を設定
[ファイル]-> [プロジェクトの構造]-> [ライブラリ]に移動し、JavaFX 11 SDKをライブラリとしてプロジェクトに追加します。 JavaFX SDKのlibフォルダーをポイントします。
ライブラリが適用されると、JavaFXクラスがIDEによって認識されます。
警告:プロジェクトを今実行するとコンパイルされますが、次のエラーが発生します。
エラー:JavaFXランタイムコンポーネントがありません。このアプリケーションを実行するために必要です
Java 11ランチャーは、メインクラスがjavafx.application.Applicationを拡張するかどうかをチェックするため、このエラーが表示されます。その場合、モジュールにjavafx.graphicsモジュールが必要です。道。
この問題を解決するには、[実行]-> [構成の編集...]をクリックして、次のVMオプションを追加します。
--module-path%PATH_TO_FX%--add-modules = javafx.controls、javafx.fxml
IntelliJによって作成されたデフォルトのプロジェクトはFXMLを使用するため、javafx.fxmlがjavafx.controlsとともに必要であることに注意してください。プロジェクトで他のモジュールを使用している場合は、それらも追加する必要があります。 [適用]をクリックしてダイアログを閉じます。
実行->実行...をクリックしてプロジェクトを実行します。これで問題なく動作するはずです。
Java JavaFXを含むバージョン https://www.azul.com/downloads/zulu/zulufx/ をダウンロードできます。その場合、特別なものはありませんJava 11.でJavaFxアプリケーションを実行するために必要なセットアップ。JavaFXはJava 8.と同様に機能します。