PaintComponent不适用于绘制形状

时间:2013-07-15 09:41:55

标签: java swing jframe paintcomponent

我正在研究图形并尝试使用PaintComponent绘制一些形状,以下是代码。我试了一个小时,但仍然没有工作真的无法得到理由。这个简单问题的解决方案是什么?

public class MyPainting  extends JPanel
{

    public void PaintComponent (Graphics g) 
    {
        super.paintComponent(g);
        g.setColor(Color.RED);
        g.drawRect(100, 100, 10, 20);
    }

    public  static void main (String [] args)
    {
        MyPainting p =  new MyPainting();
        JFrame f= new JFrame();
        f.setSize(300,300);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.add(p);       
        f.setVisible(true);
    }
}

当我运行程序时,空JFrame,我确实尝试了g.drawString, ImageIcon,但每次都看不到任何内容。

1 个答案:

答案 0 :(得分:2)

方法PaintComponent未在JPanel的任何超类中定义。你想要paintComponent

@Override
public void paintComponent (Graphics g) 

并添加@Override注释以允许编译器检查正确的方法。