Java Swing Graphics2D drawString启动缓慢?

时间:2012-04-28 02:43:54

标签: java swing graphics2d drawstring

我遇到了Java Graphics2D绘制String的一个非常奇怪的行为。

如果我设置了字体名称,例如

Font f = new Font("Helvetica", Font.PLAIN, 10);

然后在屏幕设备上第一次调用g2D.drawString可能需要600ms。这会造成屏幕堵塞,但这并不重要但非常烦人。

将字体名称切换为默认值(例如“Monospaced”)将解决问题。

是否有人遇到类似的问题?

1 个答案:

答案 0 :(得分:3)

这是因为您在paint方法中加载Font(当您第一次绘制字符串时),这是一件坏事。您应该设置组件的字体,如果它是您正在使用的唯一字体,或者在绘制组件之前至少加载它。