下载安装JavaFX及解决报错:缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序|Eclipse

目录

1.下载并解压

2.Eclipse配置

3.报错问题

解决方法1:将javaSE更改到9以下

[解决方法2: 使用module-info.java配置解决](#解决方法2: 使用module-info.java配置解决)


1.下载并解压

选择合适自己电脑配置的sdk版本下载

  • jar文件:

2.Eclipse配置

  • 建议新建一个Java Project,因为配置的时候其他文件容易出错

在新建的Project上右键 -> Build Path -> Configure Build Path...

鼠标点在Modulepath上,点击右侧的Add Library...

点击User LibraryNext >

点击New -〉 命名(名称随意,只要代表javafx)-〉 OK

保存更改并关闭

3.报错问题

最常见的错误是:

这个错误提示"错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序"通常表明尽管 JavaFX 的类可能在编译时被找到(因为可能你的开发环境已经配置好了),但在运行时 JVM(Java 虚拟机)无法在类路径(classpath)或模块路径(module-path,对于 Java 9 及更高版本)中找到 JavaFX 的运行时库。

对于 Java 8,JavaFX 是 JDK 的一部分,但通常不包含在 JRE(Java 运行时环境)中。如果你的应用程序是作为独立的 JAR 文件运行的,并且你没有将 JavaFX 的库包含在 JAR 文件中或作为外部库指定给 JVM,那么就会出现这个错误。

解决方法1:将javaSE更改到9以下

解决方法2: 使用module-info.java配置解决

在文件最顶部或最底部找到这个文件,没有找到可能是在默认包中或者创建项目时没有勾选Create module-info.java file

这里就不需要将javaSE更改了,因为module-info.java在javaSE低于9时会报错

代码展示(JavaFX和chapter_14是我的项目名和包名,请更换成自己的项目和包的名字):

java 复制代码
module JavaFX {
	requires javafx.controls;
	requires javafx.fxml;
	
	opens chapter_14 to javafx.fxml;
	exports chapter_14;
	
}

这里注意一定要把JavaFX放在Modulepath中

示例代码:

java 复制代码
package chapter_14;

import javafx.application.Application;  
import javafx.scene.Scene;  
import javafx.scene.control.Button;  
import javafx.scene.layout.StackPane;  
import javafx.stage.Stage;  
  
public class 程序清单14_1MyJavaFX extends Application {  
    @Override  
    public void start(Stage primaryStage) throws Exception {  
        Button btOK = new Button("OK");  
        StackPane root = new StackPane();  
        root.getChildren().add(btOK);  
        Scene scene = new Scene(root, 200, 250);  
        primaryStage.setTitle("MyJavaFX");  
        primaryStage.setScene(scene);  
        primaryStage.show();  
    }  
  
    public static void main(String[] args) {  
        Application.launch(args);  
    }  
}

输出结果:

相关推荐
尘中客3 小时前
放弃 Echarts?前端直接渲染后端高精度 SVG 矢量图流的踩坑记录
前端·javascript·echarts·前端开发·svg矢量图·echarts避坑
FreeBuf_3 小时前
Chrome 0Day漏洞遭野外利用
前端·chrome
小彭努力中3 小时前
199.Vue3 + OpenLayers 实现:点击 / 拖动地图播放音频
前端·vue.js·音视频·openlayers·animate
2501_916007474 小时前
网站爬虫原理,基于浏览器点击行为还原可接口请求
前端·javascript·爬虫·ios·小程序·uni-app·iphone
WiChP4 小时前
【V0.1B5】从零开始的2D游戏引擎开发之路
java·服务器·数据库
前端大波4 小时前
Sentry 每日错误巡检自动化:设计思路与上手实战
前端·自动化·sentry
cch89184 小时前
汇编与Java:底层与高层的编程对决
java·开发语言·汇编
荒川之神5 小时前
拉链表概念与基本设计
java·开发语言·数据库
cch89185 小时前
汇编与Go:底层到高层的编程差异
java·汇编·golang