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 提取码: 50mu hi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」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为例:
JavaFx(OpenJFX)安装教程详细版_第1张图片
苹果系统版本查看方法:https://support.apple.com/zh-cn/HT201260
Linux系统版本查看方法:https://blog.csdn.net/szr4630/article/details/79613267

二.Javafx包下载后的处理

下载后将 javafx 的压缩包放在你自己原来的 java 的 jdk 的同一文件目录下,然后将其解压到当前文件夹中。放在同一文件夹下,便于后面的操作实现。解压好后是这个样子:
JavaFx(OpenJFX)安装教程详细版_第2张图片
点进文件夹,点进lib文件夹,记住这个地址
我的是C:\ProgramFiles\Java\ openjfx-17.0.0.1_windows-x64_bin-sdk\javafx-sdk-17.0.0.1\lib
JavaFx(OpenJFX)安装教程详细版_第3张图片

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

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

三、添加 Library

打开Eclipse,打开你的workspace,右键项目名-Build Path -Add Libraries(中文:右击项目,找到建立路径,配置路径)
JavaFx(OpenJFX)安装教程详细版_第4张图片

新建一个 User Library

  1. 选择User Library-Next
    JavaFx(OpenJFX)安装教程详细版_第5张图片
    JavaFx(OpenJFX)安装教程详细版_第6张图片
  2. 点击Add Library(添加库),选择User Library,然后next。JavaFx(OpenJFX)安装教程详细版_第7张图片
  3. 再选择User Libraries,点next
    JavaFx(OpenJFX)安装教程详细版_第8张图片
    4.在User Libraries界面,点击New创建一个新的库将其命名为与javafx相关的名字(例如JAVAFX)
    JavaFx(OpenJFX)安装教程详细版_第9张图片

JavaFx(OpenJFX)安装教程详细版_第10张图片

导入jar

5.点击Add External JARs将所有javafx的jar包(以.jar结尾的文件)导进来,再apply and close。
JavaFx(OpenJFX)安装教程详细版_第11张图片
JavaFx(OpenJFX)安装教程详细版_第12张图片

这一步的常见问题:添加用户库时 lib 文件夹下的 src.zip 不能一并导入
错误导入的话会看到界面这样显示
JavaFx(OpenJFX)安装教程详细版_第13张图片

  • 现在经过上面的操作,你的Libraries应该是这样的:
    JavaFx(OpenJFX)安装教程详细版_第14张图片

四、创建一个类用来测试 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运行配置
JavaFx(OpenJFX)安装教程详细版_第15张图片
2.点击Arguments那一栏,点击VM Arguments的Variables,点击Edit Variables
JavaFx(OpenJFX)安装教程详细版_第16张图片
JavaFx(OpenJFX)安装教程详细版_第17张图片
3.点击New新建一个VM Argument
JavaFx(OpenJFX)安装教程详细版_第18张图片
前面运行报错的话,既然是缺少控制组件,那就命名为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 编辑完再贴进去。

JavaFx(OpenJFX)安装教程详细版_第19张图片
JavaFx(OpenJFX)安装教程详细版_第20张图片
4.点完ok后回到Select Variable,找到你刚刚命名的变量,再点击ok将这个变量插入VM Arguments 一栏里
JavaFx(OpenJFX)安装教程详细版_第21张图片
JavaFx(OpenJFX)安装教程详细版_第22张图片
5. 这时点击Run运行,最终运行出的效果JavaFx(OpenJFX)安装教程详细版_第23张图片
看到这个界面就成功啦

其他问题自查目录

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

虚拟机参数拼写错误

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

虚拟机参数路径错误

你的路径点进去应该长这样JavaFx(OpenJFX)安装教程详细版_第24张图片

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

……解压缩

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

删除错误的用户库,重新新建一个用户库并导入,只要 lib 文件夹下以.jar为后缀的文件JavaFx(OpenJFX)安装教程详细版_第25张图片

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

……如果你多于一个项目且随意命名,请认真检查、好好命名。检查你的 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/

你可能感兴趣的:(踩坑填坑记,java,eclipse)