【发布时间】:2021-03-16 00:02:23
【问题描述】:
我已将字体“Minecraft”加载到 Loader 类中的静态 Font 对象中。它在程序启动时生成并且永远不会更改。 我有多个屏幕。他们每个人都访问 Font 对象并定义字符串的字体:
g2.setFont(Loader.font)
一切正常。 但是一旦我对新的 Start 类使用相同的过程,Font 就会回到默认字体。在每个屏幕上。如果我通过以下方式检查字体名称:
System.out.println(Loader.font.getName());
我得到了正确的字体名称(“Minecraft”)作为输出。
我真的不知道为什么会发生这种情况。我该如何解决这个问题或错误是什么?
【问题讨论】:
-
这取决于你在哪里调用 setFont。您需要展示一个最小的、可重现的问题示例。
-
我正在努力。但我不确定这是否可重现。因为它只是随机发生在这个班级而不是其他班级。
-
听起来您有不同的图形上下文,您是否使用与
g2完全相同的引用来处理应用程序中的所有文本?如果没有,那么每次创建/引用新的图形上下文时都需要使用graphics.setFont(Loader.font);。
标签: java fonts graphics2d