JavaFX附带JDK 8?

2022-09-01 12:45:15

我有多个关于JavaFX的问题。

JavaFX 是否附带 JDK 8?JavaFX是否也需要自己的运行时环境?

我查看了我的计算机(我安装了JDK和JRE),但找不到JavaFX。这是否意味着JavaFX有自己独立的运行时环境和开发工具包?如果是这样,在哪里可以找到下载链接?

如果它已经以某种方式下载到我的计算机上,JavaFX是如何工作的?它与Swing相似还是完全不同?


对于那些偶然发现这个问题的人来说,编辑2020年1月:使用JDK 11,JavaFX是独立的;请参阅下面的jewelsea的答案。Antonio Raposo的答案适用于JDK 8,但请注意它已经过时了。


答案 1

JavaFX与JRE 8和JDK 8捆绑在一起。JavaFX jar 位于该文件夹中。要部署应用程序,唯一的先决条件是正确安装 JRE 8。jfxrt.jarext

JavaFX和Swing之间有相似之处,但也有不同之处。最好的开始方法是阅读 JDK 站点上提供的文档。请仔细阅读 JavaFX 8 页面,而不是 JavaFX 2 页面,因为存在一些差异,一些旧示例可能不起作用。

您可能还对我在博客A Cup of Java中发布的一个或其他示例感兴趣


答案 2

2020年1月更新

JDK 8 版本的 JavaFX 现在已经过时了。

现代 JavaFX 版本 (11+) 目前可从以下站点获得:

JavaFX库通常不是大多数OpenJDK或Oracle JDK版本的标准配置。相反,JavaFX可以作为一组单独的库,模块和SDK来使用。有关将 JavaFX 包含在运行时发行版和使用 JavaFX 进行开发的说明,请参阅上面的 openjfx.io 链接。

BellSoft的Liberica JDK发行版目前附带了JavaFX库和SDK工具。或者,您可以选择一个不包含 https://adoptopenjdk.net/ 中的JavaFX的OpenJDK版本并通过 https://openjfx.io/ 上的以下安装说明或作为maven或gradle依赖项(也记录在 openjfx.io 链接中)添加到JavaFX发行版上。

在Oracle托管的JavaFX 8教程质量很高,并且仍然与更高版本的JavaFX版本相关。

JDK 8 的原始答案

JavaFX for Oracle Java 8 不是单独的安装。JavaFX包含在Os X,Linux x86和Windows上运行的Oracle JDK 8中。了解有关此内容的更多信息的最佳位置是 JavaFX 的 Oracle 客户端技术文档

Oracle也曾经为Linux ARM分发二进制版本,但我认为现在只有通过编译OpenJDK源代码才能获得。

OpenJDK 8 二进制安装,例如 Ubuntu 附带的那些,默认情况下目前不包含 JavaFX。对于 Ubuntu,你似乎可以为 JavaFX 安装一个单独的 apt 包。一位用户评论了另一个答案,即此命令是:(尽管我没有安装Ubuntu来试用它)。有关OpenJDK和JavaFX关系的更多信息,请阅读:JavaFX和OpenJDKsudo apt-get install openjfx

有一件事可能会让你感到困惑,那就是JavaFX(1.x)的早期版本是作为单独的下载和开发工具包分发的,并实现了一种名为JavaFX Script的新语言,它与Java不同。但是,JavaFX的早期版本现在不再受支持,不应该使用。从JavaFX(2.x)开始,JavaFX系统被完全重写,以提供一个直接的Java API,不再使用JavaFX脚本。从Java 8开始,JavaFX完全集成到Oracle JDK中,不再由Oracle作为单独的下载分发。作为Oracle JDK的Java GUI的Java API,JavaFX与Swing类似(以这种方式);因此,Oracle JDK以Swing和JavaFX的形式提供了替代和不同的工具包。


推荐