我的程序询问用户他们想要画多少个圆,并且应该根据用户输入画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大小,以适应所有圆圈的数量,我也不知道如何做到这一点。提前谢谢。
首先不要重写paint
,而是使用paintComponent
,并确保在重写时调用super.paintComponent
。有关更多详细信息,请参阅执行自定义绘制。
只需将circles
值作为参数传递给Circle
类的构造函数和/或提供一个setter来更改值