分享

java学习——103.画同心圆

 pythonjava学习 2021-04-06

接上篇,上篇是将直线画在一块画布上的。

但是,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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多