JavaFx(OpenJFX)安装教程详细版

Jdk 从 1.8 起支持 JavaFx,到 Jdk 11 不再包含 JavaFx,而是改为 OpenJFX,需要另行安装。
这篇是以前给同学整理的一份教程,尽量详细到每一小步,目标是在不降低 Java 版本的前提下通过安装 OpenJFX 解决 JavaFx 安装的问题。

教程是在 Win 10 ,Eclipse 2020-06, 用 OpenJFX 17 装的,下载文件更新到了18,步骤没影响

一、下载

OpenJFX 18.0.2 官网下载链接如下:
https://gluonhq.com/products/javafx/

对于下载不方便的同学,我传了网盘:

版本阿里云盘百度网盘
Windows x64版本 「openjfx-18.0.2_windows-x64_bin-sdk」等文件https://www.aliyundrive.com/s/a7FF4U53iJX 提取码: 50mu hi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」APP即可获取 链接:https://pan.baidu.com/s/1otM8kIg9rM4tGSrVbqs9sQ 提取码:ah53
Windows x64版本 「openjfx-18.0.2_windows-x64_bin-sdk」等文件https://www.aliyundrive.com/s/a7FF4U53iJX 提取码: 50muhi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」APP即可获取 链接:https://pan.baidu.com/s/1jmLNhn0NqH-ra_pvMVnxrg 提取码:2b11
MacOS 「「openjfx-18.0.2_osx-aarch64_bin-sdk」等文件 https://www.aliyundrive.com/s/9PJ41xE6DAv 提取码: u9r6
Linux 「openjfx-18.0.2_linux-aarch64_bin-sdk」等文件 https://www.aliyundrive.com/s/Lfu9afjBjrR 提取码: gr14 hi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」APP即可获取 链接:https://pan.baidu.com/s/1otM8kIg9rM4tGSrVbqs9sQ 提取码:ah53

下载前请务必确认自己的电脑操作系统版本!!!
以最常见的Windows x64为例:
在这里插入图片描述
苹果系统版本查看方法:https://support.apple.com/zh-cn/HT201260
Linux系统版本查看方法:https://blog.csdn.net/szr4630/article/details/79613267

二.Javafx包下载后的处理

下载后将 javafx 的压缩包放在你自己原来的 java 的 jdk 的同一文件目录下,然后将其解压到当前文件夹中。放在同一文件夹下,便于后面的操作实现。解压好后是这个样子:
在这里插入图片描述
点进文件夹,点进lib文件夹,记住这个地址
我的是C:\ProgramFiles\Java\ openjfx-17.0.0.1_windows-x64_bin-sdk\javafx-sdk-17.0.0.1\lib
在这里插入图片描述

可以把你的路径开个txt复制下来,以免忘记(注意:每个人的JDK安装目录不同,要把地址改成自己的目录地址!!!)

这个目录其实可以自定义,但是这里一开始随便找了个地方自定义放后面会忘记的人很多,血泪教训,还是统一指定一个好找的地方。
或者保证你自己真的记住了!(比如把路径拷贝出来备份好)

三、添加 Library

打开Eclipse,打开你的workspace,右键项目名-Build Path -Add Libraries(中文:右击项目,找到建立路径,配置路径)
在这里插入图片描述

新建一个 User Library

  1. 选择User Library-Next
    在这里插入图片描述
    在这里插入图片描述
  2. 点击Add Library(添加库),选择User Library,然后next。在这里插入图片描述
  3. 再选择User Libraries,点next
    在这里插入图片描述
    4.在User Libraries界面,点击New创建一个新的库将其命名为与javafx相关的名字(例如JAVAFX🤣)
    在这里插入图片描述

在这里插入图片描述

导入jar

5.点击Add External JARs将所有javafx的jar包(以.jar结尾的文件)导进来,再apply and close。
在这里插入图片描述
在这里插入图片描述

这一步的常见问题:添加用户库时 lib 文件夹下的 src.zip 不能一并导入
错误导入的话会看到界面这样显示
在这里插入图片描述

  • 现在经过上面的操作,你的Libraries应该是这样的:
    在这里插入图片描述

四、创建一个类用来测试 JavaFx 是否安装成功了

创建类

#测试类代码
#文件名:HelloFX.java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloFX extends Application {

    @Override
    public void start(Stage stage) {
        String javaVersion = System.getProperty("java.version");
        String javafxVersion = System.getProperty("javafx.version");
        Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
        Scene scene = new Scene(new StackPane(l), 640, 480);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        Application.launch();
    }

}

配置运行参数

可以先试一下上面的代码能不能跑出来,有没有报错,没报错你就已经成功了。有一部分人的 eclipse 是不用配参数这一步直接就能用的,具体为什么我还没搞懂

1.点击运行按钮右边的下拉键(这个像绿色播放键一样的东西的右边的向下的黑色箭头),找到Run Configurations运行配置
在这里插入图片描述
2.点击Arguments那一栏,点击VM Arguments的Variables,点击Edit Variables
在这里插入图片描述
在这里插入图片描述
3.点击New新建一个VM Argument
在这里插入图片描述
前面运行报错的话,既然是缺少控制组件,那就命名为JavaFX.control, value也就是变量的值,它有特定的格式:

--module-path "C:\ProgramFiles\Java\javafx-sdk-17.0.0.1\lib" --add-modules javafx.controls,javafx.fxml 

全都要写(包括空格),缺一不可。注意所有符号是英文输入法下的符号,双引号前要空一个空格,双引号后也要空一个空格,这个地址是你存放这个javafx的库包(lib)的绝对地址(就是之前的解压目录),第二个modules后面要空一个空格。如果不是这样存放的,记得修改下地址,不要照搬。最后点击ok。

又一个特别容易出错的坑,这里不要手动输入,一定要复制粘贴,所有的路径参数一定要用复制的!手动出错概率太高了,而且肉眼一般还看不出来。
Tips:如果 eclipse 里不好编辑就开个 Word 编辑完再贴进去。

在这里插入图片描述
在这里插入图片描述
4.点完ok后回到Select Variable,找到你刚刚命名的变量,再点击ok将这个变量插入VM Arguments 一栏里
在这里插入图片描述
在这里插入图片描述
5. 这时点击Run运行,最终运行出的效果
看到这个界面就成功啦

其他问题自查目录

都是些小问题,但这些问题都是我实际见到过大家犯过的,也供大家自查

虚拟机参数拼写错误

–module-path “你的路径” --add-modules javafx.controls,javafx.fxml
建议直接复制,手打是错误的源泉

虚拟机参数路径错误

你的路径点进去应该长这样在这里插入图片描述

百度网盘下载了OpenJFX压缩包没解压

……解压缩

添加用户库时把lib文件夹的src.zip也一并导入了

删除错误的用户库,重新新建一个用户库并导入,只要 lib 文件夹下以.jar为后缀的文件在这里插入图片描述

终于在一个项目里全都导好了,但是运行了另一个项目里的代码

……如果你多于一个项目且随意命名,请认真检查、好好命名。检查你的 Run Configuration,保证你运行的是这次的 HelloFx 类

以上全对,但是还在报错

检查你的jdk版本,只有jdk1.8以下或者11以上的版本才需要另外安装OpenJFX,可能你并不需要安装 OpenJFX……

Eclipse崩掉了/上面没列出的错误……

(普通java代码报错不算,指Eclipse界面都打不开直接闪退报错那种)
(虽然但是)重装一次电脑……从根本解决问题……

警告:这里的重装指操作系统重装,如果不能定位出错的源头的话,不要直接卸载 Eclipse

我知道比起重装,卸载可能听起来是个好主意,但这么做要谨慎。
我解决过一个 Eclipse 本身没问题,问题在路径太乱环境变量也被改没了的,但这位同学本人在来找我之前自己尝试了卸载又安装了几次在不同目录底下,于是问题一下子复杂了起来……
(在找人问问题之前先自力更生是好习惯,保留可以复现的问题环境会更好

参考文献

这篇教程大量参考了下面的教程,没什么原创的东西,我就是整合了一下多截了一些图,特此致谢
版权声明:本文为CSDN博主「Charlais」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_49552238/article/details/120478178

版权声明:本文为CSDN博主「comeon_IT」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/comeon_IT/article/details/106310661

https://github.com/openjfx/samples/blob/master/HelloFX/CLI/hellofx/HelloFX.java

https://wiki.openjdk.java.net/display/OpenJFX

https://gluonhq.com/products/javafx/

### 如何在 IntelliJ IDEA 中文安装配置 JavaFX #### 安装 JDK 和 JavaFX SDK 为了能够在 IntelliJ IDEA 中使用 JavaFX,需要先下载并安装合适的 JDK 本以及 JavaFX SDK。 对于 JavaFX 的支持,在较新的本中已经不再默认包含于标准 JDK 内部。因此,除了官方 Oracle 提供的带有 JavaFX 模块的老本 JDK 外,建议单独获取 OpenJDK 并搭配 Gluon 或 Azul 等供应商发布的独立 JavaFX SDK 使用[^1]。 #### 创建新项目或打开现有项目 启动 IntelliJ IDEA 后,通过菜单 `文件` -> `新建` -> `项目...` 来创建一个新的 Maven 或 Gradle 项目(推荐采用构建工具管理依赖),或者直接导入已有源码作为模块加入到当前工作区中[^2]。 如果选择了 Maven,则可以在 pom.xml 文件里添加如下依赖来引入 JavaFX: ```xml <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>{JavaFX_VERSION}</version> </dependency> <!-- 如果还需要其他组件 --> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>{JavaFX_VERSION}</version> </dependency> ``` 其中 `{JavaFX_VERSION}` 需要替换为实际使用的 JavaFX 库的具体本号。 对于不使用构建工具的情况,可以通过手动方式将解压后的 JavaFX SDK 添加至项目的类路径下;具体操作是在项目结构设置对话框内指定外部库的位置。 #### 设置运行/调试配置 完成上述准备工作之后,还需进一步调整应用程序执行时所需的 VM 参数以便加载必要的 JavaFX 类库。这一步骤可通过编辑 Run Configuration 实现:点击右上角绿色三角形旁边的下拉箭头按钮,选择 "Edit Configurations..." 菜单项进入配置界面。 在这里可以找到对应的应用程序入口点条目,并在其右侧展开 “Modify Options”,勾选 “Add --module-path and --add-modules”。接着按照提示输入本地计算机上的 JavaFX SDK 所处目录地址即可。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值