java学习——103.画同心圆
接上篇,上篇是将直线画在一块画布上的。
但是,paint()方法其实是每一个组件都包含的方法,故可直接在窗口中画图。
本篇,以同心圆为例,在窗口中直接画同心圆。
此同心圆从窗口的中心位置开始,向外辐射,直到布满整个窗口为止。
其完整代码如下:
import java.awt.*;
import javax.swing.*;
public class Draw_Circle extends JFrame{
private static final longserialVersionUID = 1L;
public Draw_Circle(){
super("同心圆");
this.setBounds(200, 200, 600, 600);
this.setVisible(true);//该方法会调用子类的paint重写方法,画出相应paint中的图形
}
public void paint(Graphics g){
int x0=getSize().width/2;//圆的最左上角x坐标
int y0=getSize().height/2;//圆的最左上角y坐标
for(int r=0;r<getSize().height/2;r+=10){
g.setColor(getRandomColor());//给画笔设置随机数颜色
g.drawOval(x0-r,y0-r, r*2, r*2); //画圆,前两个参数是圆的xy坐标,xy坐标值想等为同心圆,否则不是。后面两个参数是宽和高,若宽高相等则为圆,否则为椭圆
}
}
public Color getRandomColor(){//返回一个随机的颜色
Color color=new Color((int)(Math.random()*256), (int)(Math.random()*256),(int)(Math.random()*256));
return color;
}
publicstaticvoid main(String args[]){
new Draw_Circle();
}
}
其运行结果如下: