IntelliJ Idea JavaFx无法打开Scene Builder

本文详细解析了在IntelliJ IDEA中遇到的Java版本不一致导致的ClassNotFoundException问题,并提供了具体的解决方案,包括如何检查和更改IDEA的Java版本设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先把问题贴一下:

java.lang.ClassNotFoundException: com.sun.javafx.fxml.LoadListener PluginClassLoader[org.jetbrains.plugins.javaFX, 192.5728.98] com.intellij.ide.plugins.cl.PluginClassLoader@7db2b6a4

java.lang.NoClassDefFoundError: com/sun/javafx/fxml/LoadListener

com.intellij.diagnostic.PluginException: While loading class com.oracle.javafx.scenebuilder.kit.fxom.FXOMLoader: com/sun/javafx/fxml/LoadListener [Plugin: org.jetbrains.plugins.javaFX][!

这个原因是因为,你所用的版本不一致,导致的无法加载

解决方法如下:

首先这个问题第一步是要确定你现在所使用的java 版本

在IDEA>Terminal 中输入

java -version

来确定你当前使用的Java 版本

如果是这种情况,你再看看你们开发的java版本

很明显,IDEA 用的是java 11 版本,而我们的代码用的是java 8 也就是我们常说的JDK1.8

如何解决呢?

把IDEA切换成java 8 即可

 

Ctrl+Shift+A or Cmd+Shift+A on Mac

Switch Boot JDK

输入按回车 如图

 

 

点击后选择

Win:

c:\Program Files (x86)\Java\jdk1.8.0_112 

mac:

 /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/ or /usr/lib/jvm/open-jdk

 

 

在根据IDEA提示,重启IDEA,就可以显示了

 

 

 

 

 

希望能够帮助大家

 

(* ̄︶ ̄)

### 如何在 IntelliJ IDEA 中配置 JavaFX Scene Builder 为了成功在 IntelliJ IDEA 中使用 JavaFX Scene Builder,需完成几个重要设置: #### 配置项目结构 确保已安装适当版本的 JDK,在“File → Project Structure → SDKs”中确认JDK版本至少为8[^2]。 #### 添加 JavaFX 库依赖 通过以下方式添加必要的库文件: 1. 创建或打开一个JavaFX项目; 2. 转至菜单栏中的 “File → Project Structure → Libraries”,点击加号按钮并选择“From Maven...” 3. 输入 `org.openjfx:javafx-controls` 并下载所需模块,这通常会自动拉取其他必需组件如 FXML 等。 #### 设置运行/调试配置 对于每一个希望启动的应用程序入口点(main class),都应调整其对应的Run Configuration来包含VM options参数 `-p <path-to-fx> --add-modules javafx.controls,javafx.fxml` ,其中 `<path-to-fx>` 是指向解压后的JavaFX SDK路径。 关于 **JavaFX Scene Builder** 的集成,并不是直接作为插件形式嵌入到 IDE 当中而是作为一个独立工具配合使用的。当编写Fxml布局文件时可以手动调用Scene Builder编辑界面设计部分;具体操作是在FXML文档上右键单击,“Open In -> JavaFX Scene Builder”。 ```java // 示例:简单的 JavaFX Hello World 应用程序 import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.stage.Stage; public class HelloWorld extends Application { @Override public void start(Stage primaryStage) { Label label = new Label("Hello, world!"); Scene scene = new Scene(label, 300, 250); primaryStage.setTitle("My First JavaFX App"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值