Java自定义字体在HTML JLabel中无法工作

3

我正在制作一个应用程序,其中有一些自定义字体。

我有几个JLabel,其中一个具有简单的HTML文本(以HTML标签开头和结尾+带有BR标记)。我的字体是A、B、C和D(从磁盘加载)。

为HTML JLabel设置字体仅在使用字体A或B时才会产生可见效果。(JLabel将不使用提供的字体,而是使用默认字体)

从JLabel中删除HTML标签,可以使字体C和D也能正常工作。

任何非HTML JLabel的字体设置都可以正常使用所有字体。

有人知道为什么只有一些字体与HTML JLabel兼容吗?是否有方法绕过这个问题?是否有一种方法可以确定哪些字体无法与之配合使用?

1个回答

6
当您使用HTML标签时,Java会使用HTML引擎来渲染HTML内容。这意味着在您的标记中定义的字体名称将引用系统缓存的字体,而不是您的应用程序。这就是为什么您的应用程序未显示定义的字体的原因。
您可以尝试在本地安装该字体,并在HTML中使用它。

是的,这一定是它。我猜一个解决方法就是安装字体,或者在程序启动时注册它。谢谢。 - klogd

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