我在项目中使用FontAwesomeFX,并在一个按钮内添加了FontAwesomeIconView
,其中字形名称属性设置为WINDOW_MINIMIZE
。这部分可以看作如下的XML。
<Button fx:id="minimizeButton" mnemonicParsing="false">
<graphic>
<FontAwesomeIconView fill="WHITE" glyphName="WINDOW_MINIMIZE" />
</graphic>
</Button>
问题是,它在SceneBuilder中成功显示,如下所示:
但是,当我启动程序时,我在调试日志中看到了这些:
Dec 21, 2017 11:49:50 PM de.jensd.fx.glyphs.GlyphIcon updateIcon
SEVERE: Icon 'WINDOW_MINIMIZE' not found. Using 'ANCHOR' (default) instead
该应用程序显示ANCHOR
而不是WINDOW_MINIMIZE
。
由于FontAwesomeIconView
s according to this answer的大小问题,我也应用了此CSS规则(以防万一与问题相关):
.glyph-icon{ -fx-font-family:"FontAwesome"; }
正如您在下面的环境部分中所看到的,我在Maven配置文件和SceneBuilder中导入了不同的内容。
嗯,原因很简单,当你导入FontAwesomeIconView
时,SceneBuilder没有看到de.jensd:fontawesomefx:8.9
,这就是我在SceneBuilder中导入de.jensd:fontawesomefx-fontawesome:4.7.0-9.1.2
并且它适用于Maven导入的原因。
那么,为什么我不这样做呢?我的意思是,为什么我没有在de.jensd:fontawesomefx-fontawesome:4.7.0-9.1.2
中导入pom.xml
。奇怪的是,它是用Java 9编译的,我的项目是在Java 8上运行的。当然,它抛出了类版本异常或类似的东西。此外,我不知道迁移到Java 9是否会导致更多麻烦,所以我没有在pom.xml
中导入它。
pom.xml
)答案 0 :(得分:0)
好吧,我仔细研究了一下,奇怪的是,FontAwesomeIcon
de.jensd:fontawesomefx:8.9
枚举(这是Maven Central Repository中的最新版本)不包含任何WINDOW_MINIMIZE
图标。
这就是为什么,我将我的图标更改为FontAwesomeIcon
中的其他内容。这解决了我现在的问题,但这个问题仍有待进一步解答。