【发布时间】:2012-01-15 10:02:24
【问题描述】:
在我们的 Java Swing 应用程序中,我们正在加载自定义字体并将其添加到 JLabel:
try {
this.font = Font.createFont(Font.TRUETYPE_FONT, new File("resources/fonts/ourcoolfont.ttf")).deriveFont(16f);
} catch (Exception e) {
this.font = new Font("Arial", Font.PLAIN, 16);
}
this.label.setFont(this.font);
在 3 个不同的系统上简单且运行良好。直到其他人试图运行它。字体已加载(因为我们也在其他一些 Swing 元素上使用),但未在 JLabel 中使用。
经过一番搜索,我发现您不能同时使用 HTML 和加载的字体。由于某些原因,它适用于我的系统(我认为它与 Java 版本有关),但不适用于其他系统。由于我们希望项目能够在过时的 Java 版本中运行,因此不能只要求更新。
一种选择是在计算机上安装字体,这是我们不喜欢做的事情。我找到的最好的解决方案是这个: How can I create a Java/Swing text component that is both styled and has a custom font?
不过,这个问题是关于JTextPane。 JLabel 似乎没有我可以使用的 getStyledDocument() 方法。
有什么方法可以让我们的字体与JLabel一起工作?
【问题讨论】:
标签: java html swing fonts jlabel