我的程序会询问用户他们想要绘制多少个圆圈,并且应该根据用户输入绘制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
我不知道如何从main方法获取用户输入并在for循环中使用它来绘制N个圆圈。此外,我必须相应地调整我的JFrame大小,以适应所有它们的圆圈数量,我也不知道如何做到这一点。提前谢谢。
答案 0 :(得分:1)
首先不要覆盖paint
,而是使用paintComponent
,并确保在执行时调用super.paintComponent
。有关详细信息,请查看Performing custom painting。
只需将circles
值作为参数传递给Circle
类的构造函数和/或提供一个更改值的setter