Java Swing Graphics2D drawString 启动慢?

标签 java swing graphics2d drawstring

我遇到了 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/

相关文章:

java - JOptionPane 获取密码

java - 面板主体 Bootstrap 的一致显示

java - java中如何比较两个日期?

java - 如何在 JPanel 上的 JLabels 上设置 "paint"?

java - 如何覆盖 ObjectOutputStream.writeStreamHeader()?

java - 当公共(public)方法具有私有(private)方法依赖性时如何测试公共(public)方法

java - 当 JTextArea 超过一定数量的行时启用滚动条

java - 使用 StyleConstants.Bold 时 AttributeSet 抛出错误

java - 在java中具有透明背景的清晰图像

java - 如何让 Graphics2D 对象在 Java 中准确跟随鼠标指针?