在我们的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);
在三个不同的系统上轻松使用,但是其他人尝试运行时出现问题。虽然字体已加载(因为我们还在一些其他Swing元素中使用它),但没有在JLabel
中使用。
经过一番搜索,我发现不能同时使用HTML和已加载的字体。由于某些原因,在我的系统上可以正常工作(我认为这与Java版本有关),但在其他一些系统上却无法正常工作。由于我们希望该项目能够在过时的Java版本中运行,所以要求更新并不是一个选择。
一种选择是在计算机上安装该字体,但我们不喜欢这样做。我找到的最佳解决方案是这个: 如何创建既有样式又具有自定义字体的Java/Swing文本组件?
但是,那个问题是关于JTextPane
的。似乎JLabel
没有getStyledDocument()
方法可用于此。
是否有任何方法可以让我们的字体与JLabel
配合使用呢?