我遇到了Java Graphics2D绘制String的非常奇怪的行为.
如果我设置了字体名称,例如
Font f = new Font("Helvetica", Font.PLAIN, 10);
然后,在屏幕设备上,第一次调用g2D.drawString可能要花费600毫秒.这会产生屏幕卡纸,虽然不明显,但很烦人.
将字体名称切换为默认值(例如“ Monospaced”)将解决此问题.
有人遇到过类似的问题吗?
解决方法:
发生这种情况的原因是,您正在Paint方法中加载了Font(第一次绘制字符串时),这是一件不好的事.如果是唯一使用的字体,则应该设置它的字体,或者在绘制该组件之前至少加载它.