public class aaa {
public static void main(String[] args)
{
bbb b=new bbb();
b.setVisible(true);
b.setSize(400, 400);
}
}
class bbb extends JFrame
{
bbb()
{
draw d=new draw();
add(d);
}
}
class draw extends JComponent
{
public void paintComponent(Graphics g)
{
Graphics2D g2=(Graphics2D) g;
Ellipse2D rect=new Ellipse2D.Double();
rect.setFrameFromCenter(50,50,70,70);
g2.draw(rect);
g2.setPaint(Color.blue);
g2.fill(rect);
}
}
설명해주십시오 캔트, 나는이 프로그램이 프레임을 생성하고 사각형 안에 타원을 그릴 것입니다 알고 ... 내 유일한 질문은, 그 때 의지하는 방법 "의 paintComponent (그래픽 g) "호출 될 것입니다 ... 그리고"JComponent "내부의 메소드입니다 만 언제 호출할까요? ...내가 아래 프로그램을 얻을 실제로
그리고 또 하나의 질문입니다. ..it에는 "Graphics"... 유형의 매개 변수가 있지만 클래스 "Graphics"에 대해 만들어진 객체가 없으면 메서드 (클래스 "Graphics"의 메서드)를 어떻게 호출 할 수 있습니까?
나는 이것이 어리석은 질문이라는 것을 알고 있지만, 내가 놓친 것을 알고있다. ...
이것은 바보 같은 질문이 아니지만이 모든 것을 설명하는 자습서 중 일부를 놓친 것입니다. 여기에서 시작하십시오 : [단원 : 사용자 정의 페인팅 수행] (http://docs.oracle.com/javase/tutorial/uiswing/painting/index.html). 자세한 내용은 [AWT 및 스윙에서 페인팅] (http://www.oracle.com/technetwork/java/painting-140037.html)을 참조하십시오. Swing 그래픽을 사용하면 그래픽이 종종 수동적으로 수행되기 때문에 미리 코딩 된 사고 방식을 깨는 다른 방식의 코딩과 사고 방식이 필요합니다. 튜토리얼을 확인해 주시면 후회하지 않으실 것입니다. –
http://docs.oracle.com/javase/tutorial/uiswing/painting/closer.html –