1

我正在研究图形并试图用它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 但每次都看不到任何东西。

4

1 回答 1

2

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

@Override
public void paintComponent (Graphics g) 

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

于 2013-07-15T09:42:51.777 回答