JavaFX Fontawesomefx - 主应用程序图标

3
我正在尝试使用Fontawesomefx设置我的主应用程序图标:

enter image description here

我正在使用IntelliJ 2016,并导入了Fontawesomefx 8.9和Controlsfx 8.40.12库的Maven库(因为它被认为有助于Fontawesomefx)。
我正在尝试让这个非常简单的东西工作:

enter image description here

我尝试将其转换为图像,尝试从文本转换为图像,尝试其他类型的转换和转换,但目前仍未成功。
一些额外的信息:
FontAwesomeIconView extends GlyphIcon<FontAwesomeIcon> //Fontawesome lib
GlyphIcon<T extends Enum<T> & GlyphIcons> extends Text //Fontawesome lib
Text extends Shape //Java lib
Shape extends Node //Java lib

有很多链接可以在应用内设置图标/文本/标签,但我找不到任何设置主应用程序图标的东西。

任何链接,任何帮助都将不胜感激!


可能是重复的问题:如何从不在场景中的节点中获取快照。(显然,Node 无法转换为 Image,但您可以获取快照) - fabian
可能是重复的问题:如何将FontAwesomeIconView对象用作舞台图标? - SedJ601
1个回答

1
我认为你无法直接完成这个任务。
FontAwesome是一个私有使用区域的Unicode字符集。当您使用FontAwesomeFX创建图标时,实际上得到的是一个包含单个Unicode字符的Text节点。
应用程序工具栏图标在Stage上设置为Image对象列表(可以拥有多种尺寸的图标)。图像必须是GIF、PNG、BMP或JPEG格式。
您需要将Text节点转换为Image节点才能实现您想要的效果。您可以编写一个一次性应用程序,将您想要的图标渲染到面板上的标签中,截屏并将其保存为PNG资源,然后将其用作应用程序图标。
或者,您可以将图标加载到节点中,并使用snapshot()方法从渲染表示中创建图像。

这个设置一个简单图标的过程变得太复杂了。我的主要担忧是保留图像的矢量功能,因为一旦转换就会失去质量。所有的FontAwesomeFX图标都是基于矢量的...这是使用该库的主要目的。否则我可以轻松地使用任何.png文件来设置图标,但它会变得像素化。 - 4673_j
2
对于应用程序内部图标(例如,在内部工具栏或菜单中),FontAwesomeFX 是一个很好的选择。但是,您必须使用位图来创建 Windows 应用程序图标。不过,您可以使用高达 256x256 像素的位图,因此您应该能够创建高质量版本。 - David

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接