Проблемы с рисованием вложенных кругов

Моя программа спрашивает пользователя, сколько кругов он хочет нарисовать, и должна нарисовать N вложенных кругов на основе пользовательского ввода. Мой код пока выглядит следующим образом:

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

Я понятия не имею, как получить пользовательский ввод из основного метода и использовать его в цикле for для рисования N кругов. Кроме того, мне нужно настроить размер JFrame в соответствии с количеством кругов, которые мне нужно будет разместить в нем, и я тоже не знаю, как это сделать. Заранее спасибо.


person user3002906    schedule 12.12.2013    source источник


Ответы (1)


Начните с того, что не переопределяйте paint, а вместо этого используйте paintComponent и убедитесь, что при этом вызываете super.paintComponent. Дополнительные сведения см. в разделе Выполнение пользовательского рисования.

Просто передайте значение circles в качестве параметра конструктору класса Circle и/или предоставьте установщик для изменения значения.

person MadProgrammer    schedule 12.12.2013