JAVAFX15的配置与使用
已解决、最全覆盖解决办法(vscode,IDEA,eclipse)
最近学习到JAVAFX但是import javafx失败,查阅后发现我使用的是jdk15,是已经移除了javafx组件的。我灵机一动,直接改用jdk8不就好了,然后发现vscode不支持jdk11以下版本。。。
那只好继续使用jdk15喽,去网上下载javafx并安装,这样我就有了javafx的包
1.我使用的是与jdk15同版本的javafx15.0.1然后创建工程,将lib中的jar和src.zip全部导入
编译报错
2.在网上下载jfxrt.jar,导入lib编译报错
这时我注意到有一行提示Can’t load library: E:\Fundamentals of data structure\chapter4\test\demo\bin\glass.dll,看来只有一个jar是不行的,那我把整个javafx都放在项目文件下呢。。。还是报错
3.既然javafx是独立出去的模块,那我把javafx整合到jdk里面不就可以用了吗,于是我分别将相应文件全部加入到jdk中,还是报错。。。
4.好吧我放弃vscode,启用eclipse并导入
写代码
编译报错
难道是不应该包含这个zip?
我重新进行导入
继续报错
可能不是configure build path而是add libraries
进行尝试,报错
观察发现这个错误与vscode遇到的错误一致
emmm
那好吧暂时先用jdk8吧我妥协了,结果jdk8也没找到javafx的东西,可能我下载的版本不对。。。我现在先去吐了,回来继续更新
5.我回来了
官网下的jdk8也不行,还是一样的报错。看来是老天并不允许我妥协啊,老版本还是不要用了,那我继续研究,换个舒服点的工具,我下载了IDEA去编辑创建项目,乖乖,流程跑一遍还是报错no suitable pipeline found
那到底是哪里不suitable了呢,我的jdk和javafx都是15,按理说是匹配的,环境变量也反复检查过了,终于,我意识到可能是操作系统与javafx不匹配?找了自己的下载记录发现之前下载的是x86的,换个x64的下载,又是老三样跑一遍,成功!!!!!
总结:
java8以上版本使用javafx先下载 https://openjfx.io/
一.vscode
1.F1创建java项目
2.把javafx下的lib和bin都copy到该项目文件下
3.写两个类测试(写一个类可能会报错,缺少java运行时组件)
App.java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
public class App extends Application {
public void start(Stage primaryStage){
Button btOK=new Button("OK");
Scene scene=new Scene(btOK,200,250);
primaryStage.setTitle("MyJAVAFX");
primaryStage.setScene(scene);
primaryStage.show();
}
}
Main.java
import javafx.application.Application;
public class Main {
public static void main(String [] args){
Application.launch(App.class);
}
}
运行:
二、IDEA
1.先创建项目
2.shift + ctrl + alt + s 打开项目结构,进行如下操作:
选中libraries,+,java
3.找到javafx的lib目录选中
4.ctrl + alt + s 打开设置,进行如下操作:
5.添加环境变量,这里我起名为PATH_TO_JAVAFX
value填写javafx的lib的绝对路径
结果如图
6.调虚拟机配置参数
--module-path ${PATH_TO_FX} --add-modules javafx.controls,javafx.fxml
编译运行
成功!!
三、eclipse
类似于IDEA
1.创建项目不再赘述
2.build path->add libraries
选user libraries
新建一个库,命名为Javafx15
点add external jars
将javafx lib下的文件全部导入
应用运行,成功
这里我是分了两个文件是没有配参数的,一个类写的话需要配置参数
run->run configurations
VM arguments:
--module-path "\path\to\javafx-sdk-15\lib" --add-modules javafx.controls,javafx.fxml
引号里是填你自己的路径
至此就结束了,我应该是把相关的报错都踩了一遍吧,希望对大家有帮助,解决了问题得小伙伴记得给博主点个赞哦!!!