在Java中如何用程序画一个圆

Python013

在Java中如何用程序画一个圆,第1张

使用java画圆要用到绘图类Graphics,下面是实例代码和运行效果:

package com.dikea.demo01

import java.awt.*

import javax.swing.*

// java绘图原理

public class demo_01  extends JFrame {

MyPanel mp = null

public static void main(String[] args) {

// TODO 自动生成的方法存根

demo_01 demo01 = new demo_01()

}

public demo_01(){

mp = new MyPanel()

this.add(mp)

this.setSize(400, 300)

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

this.setVisible(true)

}

}

// 定义一个MyPanel面板,用于绘图区域

class MyPanel extends JPanel{

//覆盖JPanel

// Graphics 是绘图的重要类,可以理解成一支画笔

public void paint(Graphics g){

//  1. 调用父类函数完成初始化任务

//  这句话不可以少

super.paint(g)

// 先画出一个圆圈

g.drawOval(100, 100, 30, 30)

}

}

代码复制进ide编程工具,运行效果如下:

首先,手动画一个小乌龟,如下:

然后,按照Java绘图基本步骤一步步来。

swing 编程步骤:

1. 继承JFrame

2. 定义组件

3.创建组件(构造函数)

4.添加组件

5.对窗体设置

6.显示窗体

最终效果如下:

代码如下:

/** 

 * 功能:画一个乌龟 

 */  

  

package com.test1  

  

import java.awt.*  

  

import javax.swing.*  

public class MyTortoise  extends JFrame{  

    MyPanel2 mp = null  

    //构造函数  

    public MyTortoise(){  

        mp = new MyPanel2()  

          

        this.add(mp)  

          

        this.setTitle("小乌龟,丑丑哒")  

        this.setSize(400,300)  

        this.setVisible(true)  

        this.setLocation(300,200)  

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)  

    }  

              

    public static void main(String[] args) {  

        MyTortoise mtg = new MyTortoise()  

    }     

}  

  

//我的面板。只有JPanel有画图方法,JFrame没有,故必须在JFrame中添加JPanel  

class MyPanel2 extends JPanel{  

    //定义一个乌龟  

    Tortoise t = null  

      

    //构造函数  

    public MyPanel2(){    

        t = new  Tortoise(100,100)  

    }  

      

    //画乌龟  

    public void drawTortoise(int x, int y, Graphics g){  

        //1.画脸  

        g.setColor(Color.green)  

        g.fillOval(x+60, y, 30, 15)  

        //2.画左眼  

        g.setColor(Color.black)  

        g.fillOval(x+65, y+3, 5, 5)  

        //3.画右眼  

        g.fillOval(x+78, y+3, 5, 5)  

        //4.画脖子  

        g.setColor(Color.green)  

        g.fillOval(x+70, y, 10, 42)  

        //5.画乌龟壳  

        g.setColor(Color.red)  

        g.fillOval(x+40, y+40, 70, 100)  

        //6.画左上脚  

        g.setColor(Color.green)  

        g.fillOval(x+15, y+60, 30, 10)  

        //7.画右上脚  

        g.fillOval(x+105, y+60, 30, 10)  

        //8.画左下脚  

        g.fillOval(x+15, y+110, 30, 10)  

        //9.画右下脚  

        g.fillOval(x+105, y+110, 30, 10)  

        //10.画尾巴  

        g.setColor(Color.black)  

        g.drawLine(x+70,y+140,x+130,y+210)  

        g.drawOval(x+95, y+150, 30, 30)  

    }  

  

     

    //覆盖JPanel的paint方法  

    //Graphics 是绘图的重要类。你可以把他理解成一只画笔  

    public void paint(Graphics g){  

            //1.调用父类函数完成初始化任务  

            //这句话不能少  

            super.paint(g)  

            //2.画乌龟,调用方法即可  

            this.drawTortoise(50, 50, g)  

    }  

      

}  

  

//定义一个乌龟类  

class Tortoise {  

        //表示乌龟的横坐标  

        int x = 0  

  

        //表示乌龟的纵坐标  

        int y = 0  

          

        public int getX() {  

            return x  

        }  

  

        public void setX(int x) {  

            this.x = x  

        }  

  

        public int getY() {  

            return y  

        }  

  

        public void setY(int y) {  

            this.y = y  

        }  

        public Tortoise(int x, int y){  

            this.x = x  

            this.y = y  

        }  

}

画圆一般通过继承JPanel 或者JFrame ,通过调用panel或者frame中的Graphics实例完成画图。

java绘图的基本原理:画一个圆

import javax.swing.*

import java.awt.*

public class DrawCicle extends JFrame{MyPanel mp=nullpublic static void main(String[] args) {DrawCicle dc=new DrawCicle()}

public DrawCicle(){mp =new MyPanel()this.add(mp)this.setSize(300, 250)

this.setLocation(600, 300)this.setDefaultCloseOperation(this.EXIT_ON_CLOSE)this.setVisible(true)}}