首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复controlsfx演示程序以初始化类org.controlsfx.glyphfont.FontAwesome?

如何修复controlsfx演示程序以初始化类org.controlsfx.glyphfont.FontAwesome?
EN

Stack Overflow用户
提问于 2019-07-05 23:53:15
回答 1查看 784关注 0票数 2

controlsfx JavaFX库有一个演示程序,一些控件无法运行,例如列表选择视图、列表操作视图或BreadCrumbBar。

我在一台新的Windows10个人电脑上重新测试了这一点,新安装了JDK11和Gradle 5.5 .我下载了分支9 .zip,验证了模块info.java文件是否存在,并输入

梯度跑

对于上述示例,控制台显示:

代码语言:javascript
复制
Exception in thread "JavaFX Application Thread" java.lang.NoClassDefFoundError: Could not initialize class org.controlsfx.glyphfont.FontAwesome
        at org.controlsfx.samples/org.controlsfx.samples.HelloListActionView.createActions(HelloListActionView.java:144)
        at org.controlsfx.samples/org.controlsfx.samples.HelloListActionView.getPanel(HelloListActionView.java:63)
        at org.controlsfx.fxsampler/fxsampler.SampleBase.buildSample(SampleBase.java:77)
        at org.controlsfx.fxsampler/fxsampler.FXSampler.buildSampleTabContent(FXSampler.java:397)
        at org.controlsfx.fxsampler/fxsampler.FXSampler.updateTab(FXSampler.java:305)
        at org.controlsfx.fxsampler/fxsampler.FXSampler.changeSample(FXSampler.java:296)
        at org.controlsfx.fxsampler/fxsampler.FXSampler.lambda$start$1(FXSampler.java:159)

JAVA_HOME is C:\Program \Java\JDK-11.0.3

代码语言:javascript
复制
gradle --version

------------------------------------------------------------
Gradle 5.5
------------------------------------------------------------

Build time:   2019-06-28 17:36:05 UTC
Revision:     83820928f3ada1a3a1dbd9a6c0d47eb3f199378f

Kotlin:       1.3.31
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM:          11.0.3 (Oracle Corporation 11.0.3+12-LTS)
OS:           Windows 10 10.0 amd64

我想利用FontAwesome和上面提到的控件。

我用JDK 11,11.0.1,11.0.2,11.0.2级5.2,5.5命令行IntelliJ进行了实验,这是我通常开发的另一台PC。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-17 10:54:06

ControlsFX有大量的外部依赖项,这些依赖项在build.gradle文件中处理。

如果您的项目不使用gradle构建库,而是导入库的.jar,那么您应该将所有这些选项添加到VM中。要在IntelliJ中这样做,转到,您可以在那里找到一个VM选项字段。

您可以尝试复制和粘贴以下选项:

代码语言:javascript
复制
--add-exports=javafx.graphics/com.sun.javafx.scene=org.controlsfx.controls --add-exports=javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls --add-exports=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls --add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=org.controlsfx.controls --add-exports=javafx.controls/com.sun.javafx.scene.control=org.controlsfx.controls --add-exports=javafx.controls/com.sun.javafx.scene.control.inputmap=org.controlsfx.controls --add-exports=javafx.base/com.sun.javafx.event=org.controlsfx.controls --add-exports=javafx.base/com.sun.javafx.collections=org.controlsfx.controls --add-exports=javafx.base/com.sun.javafx.runtime=org.controlsfx.controls --add-exports=javafx.web/com.sun.webkit=org.controlsfx.controls --add-exports=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls

这对我有用。在使用ControlsFX 11.0时,我也遇到了同样的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56910229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档