JavaFX随JDK 8一起提供?

JavaFX随JDK 8一起提供?,java,javafx-8,Java,Javafx 8,关于JavaFX,我有很多问题 JavaFX是否随JDK 8一起提供?JavaFX是否也需要自己的运行时环境 我查看了我的计算机(我安装了JDK和JRE),但没有找到JavaFX。这是否意味着JavaFX有自己独立的运行时环境和开发工具包?如果是,我在哪里可以找到下载链接 如果它已经下载到我的电脑上,JavaFX是如何工作的?它与Swing相似还是完全不同 为那些偶然发现这个问题的人编辑2020年1月:对于JDK11,JavaFX是独立的;见下面朱厄西的答案。Antonio Raposo的答案

关于JavaFX,我有很多问题

JavaFX是否随JDK 8一起提供?JavaFX是否也需要自己的运行时环境

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

如果它已经下载到我的电脑上,JavaFX是如何工作的?它与Swing相似还是完全不同



为那些偶然发现这个问题的人编辑2020年1月:对于JDK11,JavaFX是独立的;见下面朱厄西的答案。Antonio Raposo的答案适用于JDK 8,但请注意它已经过时。

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

JavaFX和Swing之间既有相似之处,也有不同之处。最好的开始方式是阅读JDK站点上提供的文档。请注意阅读JavaFX8页面而不是JavaFX2页面,因为它们之间存在一些差异,并且一些旧的示例可能不起作用

您可能还对我在博客中发布的一个或另一个示例感兴趣

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

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

  • -文件
  • -托管下载
JavaFX库通常不是大多数OpenJDK或Oracle JDK版本的标准配置。相反,JavaFX是一组独立的库、模块和SDK。上面的openjfx.io链接中包含了关于在运行时发行版中包含JavaFX以及使用JavaFX开发的说明

目前随附JavaFX库和SDK工具。或者,您可以选择一个OpenJDK版本,该版本不包括JavaFX发行版,并通过以下安装说明添加到JavaFX发行版上,或作为maven或gradle依赖项(也记录在openjfx.io链接中)

是高质量的,并且仍然适用于更高版本的JavaFX

JDK 8的原始答案

JavaFXforOracleJava8不是单独安装的。JavaFX包括在OSX、Linux x86和Windows上运行。了解更多信息的最佳场所是

Oracle过去也为LinuxARM分发二进制版本,但我认为现在只能通过编译OpenJDK源代码来实现

OpenJDK8二进制安装,比如Ubuntu附带的那些,默认情况下目前不包括JavaFX。对于Ubuntu,您似乎可以为JavaFX安装一个单独的apt包。一位用户在回答另一个问题时说,这个命令是:
sudo apt get install openjfx
(尽管我还没有安装Ubuntu来试用)。有关OpenJDK和JavaFX关系的更多信息,请阅读:


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

它是用java构建的gui框架,因此它不是一种单独的语言或实体。我对JavaFX也是相当陌生的,有些东西是相似的;gui事件调度线程,操作gui对象的方式非常相似,那么如何让JavaFX与Oracle Open JDK 8一起工作呢?没有“Oracle Open JDK 8”这样的东西。有,包括JavaFX,有,不包括JavaFX,但可以与OpenJFX 8一起使用。它们是不同的东西。我不建议使用任何一种,因为两者都过时了。而是按照中的说明使用最新的Java和JavaFX版本。