栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java创建标签时的JavaFX 11:IllegalAccessError

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java创建标签时的JavaFX 11:IllegalAccessError

你已经在说明问题了:

我尚未修改任何VM选项。

由于JavaFX 11不再是JDK的一部分,因此你必须从此处使用JavaFX SDK(如你所做的那样),或者使用Maven / Gradle从Maven Central检索JavaFX模块。

然后,你需要将SDK添加为库,以便IntelliJ可以找到JavaFX类。

但是,一旦做到了这一点,并且考虑到

JavaFX jar
是模块,那么你仍然需要做两件事:

  • 使JavaFX模块可用于你的模块路径
  • 定义要添加到项目中的模块

根据你的

IntelliJ
输出,它在默认情况下添加
javafx.graphics
javafx.base

--add-modules javafx.base,javafx.graphics-p /usr/lib/jvm/javafx-sdk-11.0.2/lib/javafx.base.jar:/usr/lib/jvm/javafx-sdk-11.0.2/lib/javafx.graphics.jar

(请注意

-p
与相同–
module-path

这说明了为什么你的项目在第一种情况下运行,即当你没有将控件添加到场景中时,仅运行StackPane属于

javafx.graphics
模块的控件,而在添加时添加了Label属于javafx.controls 模块的控件时,失败并显示已发布的异常。

已经说过很多次了:你需要为项目设置所需的VM选项。

首先阅读

https://openjfx.io/openjfx-docs/
上的文档,包括IntelliJ文档,IDE的非模块化项目部分。并阅读第4部分。添加VM选项。

因此,单击运行->编辑配置,然后添加:

-p /usr/lib/jvm/javafx-sdk-11.0.2/lib --add-modules javafx.controls

应用并运行,该问题将得到解决。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/395108.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号