在所有Swing应用程序组件中启用文本的抗锯齿功能

时间:2014-01-20 17:50:05

标签: java swing

平滑组件的内容存在问题。按钮上的文字不会变得平滑。

JButton button = new JButton("Button"){
  public void PaintComponent(Graphics g){
    Graphics2D g2d = (Graphics2D) g;
    //g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
    super.paintComponent(g2d);
    g2d.dispose();
  }
};

我不想创建单独的类并覆盖paintComponent(),从而导致方法g2d.setRenderingHint(...)g2d.drawString("Button")

问题是,对于我的应用程序的所有Swing组件,必须打开其中的文本的抗锯齿。不可能手动覆盖paintComponent()所有项目的方法。

当然,在系统设置中包含文本消除锯齿无助于解决问题。

请帮助。

1 个答案:

答案 0 :(得分:0)

看起来你有一个错字。将P方法的p更改为paintComponent(...)

通常,在覆盖方法时,您应该在方法之前使用@Override

@Override
public void paintComponent(Graphics g)
{
    ...
}

如果您错误地覆盖了方法,@Override注释将生成编译错误。