web-dev-qa-db-ja.com

JavaFXにはJDK 8が付属していますか?

JavaFXについて複数の質問があります。

JavaFXにはJDK 8が付属していますか? JavaFXにも独自のランタイム環境が必要ですか?

コンピュータを調べました(JDKとJREがインストールされています)が、JavaFXが見つかりませんでした。これは、JavaFXに独自のランタイム環境と開発キットがあることを意味しますか?その場合、ダウンロードリンクはどこにありますか?

どういうわけかそれが私のコンピュータにすでにダウンロードされている場合、JavaFXはどのように機能しますか? Swingに似ていますか、それとも完全に異なりますか?


この質問に出くわした人のために2020年1月を編集してください。JDK11では、JavaFXはスタンドアロンです。以下のjewelseaの回答を参照してください。 Antonio Raposoの回答はJDK 8に適用されますが、古くなっていることに注意してください。

17
Stardust

JavaFXはJRE 8およびJDK 8にバンドルされています。JavaFXjarはjfxrt.jarであり、extフォルダにあります。アプリケーションをデプロイするには、JRE 8が適切にインストールされていることが唯一の要件です。

JavaFXとSwingの間には類似点がありますが、相違点もあります。開始する最良の方法は、JDKサイトにあるドキュメントを読むことです。 JavaFX 2ページではなくJavaFX 8ページを読むように注意してください。いくつかの違いがあり、一部の古い例では機能しない可能性があります。

また、私がブログに投稿している例に興味があるかもしれません Javaのカップ

19
Antonio Raposo

2020年1月更新

JavaFXのJDK 8バージョンは現在古くなっています。

最新のJavaFXバージョン(11+)は現在、次の場所から入手できます。

JavaFXライブラリは通常、ほとんどのOpenJDKまたはOracle JDKバージョンに標準で付属していません。代わりに、JavaFXは、ライブラリ、モジュール、およびSDKの別個のセットとして利用できます。ランタイムディストリビューションにJavaFXを含める方法、およびJavaFXで開発する方法の説明は、上記のopenjfx.ioリンクに含まれています。

BellSoftによるliberica JDKディストリビューション 現在、JavaFXライブラリとSDKツールが含まれています。または、JavaFXが含まれていないOpenJDKバージョンを https://adoptopenjdk.net/ から選択し、 https://openjfx.ioのインストール手順に従ってJavaFXディストリビューションに追加できます。 / またはmavenまたはgradleの依存関係(openjfx.ioリンクにも記載されています)。

OracleでホストされているJavaFX 8チュートリアル は高品質であり、それでも後のバージョンのJavaFXでの使用に関連しています。

JDK 8の元の回答

JavaFX for Oracle Java 8は個別のインストールではありません。JavaFXは Oracle JDK 8 に含まれています。OSX、Linux x86およびWindowsで実行されています。詳細はこちらをご覧くださいこれについては JavaFXに関するOracle Client Technologiesのドキュメント です。

OracleはLinuxのバイナリバージョンを配布するために使用していましたARMも同様ですが、これは現在OpenJDKソースをコンパイルすることによってのみ利用できると思います。

Ubuntuに付属するものなどのOpenJDK 8バイナリインストールには、現在、デフォルトでJavaFXは含まれていません。 Ubuntuの場合、JavaFX用の別個のaptパッケージをインストールできるようです。ユーザーは、このためのコマンドは次のとおりであるという別の回答にコメントしました:Sudo apt-get install openjfx(私はそれを試すためのUbuntuのインストールを持っていません)。 OpenJDKとJavaFXの関係の詳細については、 JavaFXおよびOpenJDK を参照してください。

混乱を招く可能性があることの1つは、非常に初期のバージョンのJavaFX(1.x)が別個のダウンロードおよび開発キットとして配布され、Javaとは異なるJavaFX Scriptと呼ばれる新しい言語を実装したことです。ただし、その初期バージョンのJavaFXはサポートされなくなったため、使用しないでください。 JavaFX(2.x)以降、JavaFXシステムは完全に書き直されて、ストレートJava APIを提供し、JavaFX Scriptを使用しなくなりました。Java 8以降JavaFXはOracle JDKに完全に統合され、Oracleによる個別のダウンロードとして配布されなくなりました。Java API for Java GUI for the Oracle JDKの一部) 、JavaFXは(その点で)Swingに似ているため、Oracle JDKはSwingおよびJavaFXの形式で代替の異なるツールキットを提供します。

13
jewelsea