为什么我的字体无法绘制? (或加载?) - Java

时间:2016-03-21 21:01:44

标签: java fonts io

我的字体类:

fonts.init()

然后,我在渲染类中调用g2d.setFont(myFont)g2d.drawString("test"),然后调用irb(main):009:0> (1..100).to_a.select{ |e| ((e >> 3) & 1) == 1 } => [8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 28, 29, 30, 31, 40, 41, 42, 43, 44, 45, 46, 47, 56, 57, 58, 59, 60, 61, 62, 63, 72, 73, 74, 75, 76, 77, 78, 79, 88, 89, 90, 91, 92, 93, 94, 95

我没有错误,我也没有收到异常消息。但是,屏幕上显示的字体是我的后备衬线字体,而不是我的自定义字体。为什么会这样?

编辑2:这实际上修复了它,我的渲染类中还有另一个愚蠢的错误。感谢。

1 个答案:

答案 0 :(得分:2)

它的java约定只使用常量事物的全部大写(即img或枚举)。也就是说,您正在使用同名的局部变量在final方法中隐藏MYFONT。{/ p>

作为一个更简单的例子:

init()

您对public int i = 0; public void update() { int i = 10; // this does not in any way touch the above-declared "i" } public void updateProperly() { i = 10; // this _does_ use the above-declared "i" } 变量做同样的事情。

构建代码的更好方法是改为:

MYFONT