java - "Exception in thread "main"java.lang.NoClassDefFoundError : javafx/embed/swing/JFXPanel"mean and how do I fix it? 是什么意思

标签 java swing javafx

我为学校编写了一个 java 程序,它编译正确,但是当我尝试运行它时,我收到了以下消息:

Exception in thread "main" java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel at Main.main(Main.java:5) Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 1 more

我检查了多个来源,但没有一个符合我的确切问题。我使用 java 版本 11.0.2,所有这些都在 Mac 上运行,IDE 是 Atom。

$ java -version java version "11.0.2" 2019-01-15 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)

最佳答案

该异常意味着 JavaFX 组件不存在于类路径中。

在 java 11 中,javaFX 已移至 JDK 之外。 See for example this article.

您需要下载适合您平台的javaFX模块,并自行添加。 See those instructions.

关于java - "Exception in thread "main"java.lang.NoClassDefFoundError : javafx/embed/swing/JFXPanel"mean and how do I fix it? 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55250610/

相关文章:

java - 使用 java keytool 生成 key 对时出现文件未找到异常

java - setTextSize 方法后 textView.getLineCount() 返回 0

Java 图形 - 重新绘制图像而不删除另一个图像

java - 强制完全重绘 Jpanel Java2D

java - JavaFX 中的快速计数计时器

java - 带有 slf4j 和 log4j 的 hibernate 3.4

java - 在 Java 8 中将 lambda 表达式与旧集合类一起使用时,避免使用 .stream() 和 .collect()

java - JTree 中的 JTextField - 使其可编辑

java - 如何在 JavaFX 的 Flow Pane 布局中将元素定位在新行中?

java - Javafx中如何让球从物体上弹开?