2013-12-12 3 views
0

내 프로그램은 사용자에게 입력을 기반으로 N 개의 둥근 원을 그리고 그려야하는 원의 양을 사용자에게 묻습니다. 다음과 같이 내 코드는 지금까지 있습니다 :Nested Circles Trouble Drawing

import javax.swing.*; 
import java.awt.*; 
public class DrawCircles extends JFrame { 

DrawCircles(){ 
    add(new Circle()); 
} 

public static void main(String[] args) { 
    String number = JOptionPane.showInputDialog(null, "Please enter the number of circles you wish to display"); 
    int circles = Integer.parseInt(number); 
    DrawCircles d = new DrawCircles(); 
    d.setTitle("Nested Circles"); 
    d.setSize(500, 500); 
    d.setVisible(true); 
    d.setLocation(200,200); 

}//end main method 




}//end class 

class Circle extends JPanel{ 
public void paint(Graphics g){ 
    g.drawOval(135, 125, 200, 200); 
}//end paint() 
}//end class 

내가 어떻게 main 메소드에서 사용자의 입력을 받아 원의 N 양을 그리는 for 루프에서 사용하는 아무 생각이 없습니다. 또한 나는 JFrame 크기를 그에 맞춰야하는 서클의 양에 맞게 조정해야하며 그 중 하나를 수행하는 방법을 알지 못합니다. 미리 감사드립니다.

답변

1

우선 paint을 무시하지 말고 paintComponent을 사용하고 super.paintComponent을 호출해야합니다. 자세한 내용은 Performing custom painting을 참조하십시오.

단순히 값을 변경 세터를 Circle 클래스의 생성자 파라미터로 circles 값을 전달 및/또는 제공