我遇到了Java Graphics2D绘制String的一个非常奇怪的行为。
如果我设置了字体名称,例如
Font f = new Font("Helvetica", Font.PLAIN, 10);
然后在屏幕设备上第一次调用g2D.drawString可能需要600ms。这会造成屏幕堵塞,但这并不重要但非常烦人。
将字体名称切换为默认值(例如“Monospaced”)将解决问题。
是否有人遇到类似的问题?
答案 0 :(得分:3)
这是因为您在paint方法中加载Font(当您第一次绘制字符串时),这是一件坏事。您应该设置组件的字体,如果它是您正在使用的唯一字体,或者在绘制组件之前至少加载它。