2013-07-15 2 views
1

그래픽을 연구 중이며 PaintComponent을 사용하여 모양을 그렸습니다. 코드는 다음과 같습니다. 나는 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 시도했다.

답변

2

JPanel의 수퍼 클래스 중 하나에 PaintComponent 메서드가 정의되어 있지 않습니다. 당신은

@Override 
public void paintComponent (Graphics g) 

paintComponent을 원하고 올바른 방법 컴파일러 검사를 허용하도록 @Override 주석을 추가 할 수 있습니다.

+0

OMG ,, 나 같은 그런. 이것을 위해 1 시간을 낭비했다. –

+0

왜 컴파일러가이 오류를주지 않았습니까? –

+0

왜냐하면 PaintComponent (페인트가 아님)에 @Override 주석 – Reimeus

관련 문제