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();

}

}

其运行结果如下:

(0)

相关推荐