paintComponent()方法中的消除锯齿

时间:2012-11-05 17:02:11

标签: java string swing graphics paintcomponent

我想使用paintComponent(..)方法打印一些文字。

@Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.setColor(Color.red);
    g.drawString("Hello world", 10, 10);
}

但文字有些锯齿。 你怎么能用这种方法强制使用[抗锯齿]进行文本绘制?

谢谢。

1 个答案:

答案 0 :(得分:5)

您可以通过以下方式设置双缓冲:

class MyPanel extends JPanel {
    public MyPanel() {
        super(true);//set Double buffering for JPanel
    }
}

或只是致电JComponent#setDoubleBuffered(..)

您还可以为{{1>}对象设置RenderingHint,例如抗锯齿文本消除锯齿,以通过以下方式改善Swing绘画质量:

Graphics2D