2013-07-15 64 views
1

我正在学习图形并尝试使用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但每次什么是可见的。

回答

2

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

@Override 
public void paintComponent (Graphics g) 

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

+0

OMG ,,我这么宽松。为此浪费了1个小时。 –

+0

为什么编译器没有给这个错误? –

+0

,因为你didnt添加@Override注释 – Reimeus