我遇到了 Java Graphics2D 绘制字符串的一个非常奇怪的行为。
如果我设置一个字体名称,比如
Font f = new Font("Helvetica", Font.PLAIN, 10);
然后在屏幕设备上第一次调用 g2D.drawString 可能需要 600 毫秒。这会造成屏幕卡住,虽然不严重但很烦人。
将字体名称切换为默认值(例如“Monospaced”)将解决问题。
有人遇到过类似的问题吗?
最佳答案
发生这种情况是因为您在 paint 方法中加载了 Font(当您第一次绘制字符串时),这是一件很糟糕的事情。如果它是您使用的唯一字体,您应该设置组件的字体,或者至少在绘制组件之前加载它。
关于Java Swing Graphics2D drawString 启动慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360148/