JAVA 绘制圆形(可视化java)

文章介绍了如何在Java环境中利用JFrame作为画框,JPanel作为画板,以及Graphics类提供的drawOval方法来绘制圆形。首先,定义一个继承自JPanel的类并在paint方法中画圆,然后在Main类的构造器中将画板添加到画框中,设置画框大小并使其可见。
该文章已生成可运行项目,

前言:

在Java可视化领域内,java提供了很多画图功能,这些功能可以通过子类父类继承关系,扩展利用这些功能,画出我们想要的图形。

如果对子类父类关系模糊,可以看:JAVA 子类,父类的理解(美妙的树形关系)


1. java提供的一些画图类:

JFrame ---- 画框

JPanel ---- 画板

Graphics ---- 画笔

在这里插入图片描述

就像正常画画一样,利用这些类进行绘画。


2. 利用画笔,在画板中画出圆:

需要创建一个MyPane继承JPanel类内的一些功能,再利用画笔Graphics类在其中画图即可

代码如下:

class MyPanel extends JPanel{//利用画板画图。
	
	public void paint(Graphics g) {//要扩展父类某个方法,这个方法名字不能改动(系统自动调用)
		super.paint(g);//继承父类的优良方法。
		
		//扩展新内容
		g.drawOval(10, 10, 100, 100);//画圆
	}
	
}

其中drawOval是从父类继承过来的画圆函数,绘画逻辑如下:

在这里插入图片描述
注意: paint方法名字不能改,其由Java底层逻辑自己调用,改了名字无法调用,也就没有图。

代码如下:


class MyPanel extends JPanel{//利用画板画图。
	
	public void paint(Graphics g) {//要扩展父类某个方法,这个方法名字不能改动(系统自动调用)
		super.paint(g);//继承父类的优良方法。
		
		//扩展新内容
		g.drawOval(10, 10, 100, 100);//画圆
	}
	
}

3. 将画完圆的画板安置在画框内:

代码:

import java.awt.Graphics;
import java.util.*;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JFrame{

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Main();//建立一个Main类对象
        }
       
	public Main() {//构造器
		MyPanel mp = new MyPanel();
		this.add(mp);//将画板镶嵌在画框中
		this.setSize(400, 400);//画框大小(像素)
		this.setVisible(true);//允许可视化
	}

}

安置过程是在Main类构造器内实现。


4. 完整代码:

完整代码如下:

import java.awt.Graphics;
import java.util.*;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JFrame{

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Main();//建立一个Main类对象
        }
       
	public Main() {//构造器
		MyPanel mp = new MyPanel();
		this.add(mp);//将画板镶嵌在画框中
		this.setSize(400, 400);//画框大小(像素)
		this.setVisible(true);//允许可视化
	}

}

class MyPanel extends JPanel{//利用画板画图。
	
	public void paint(Graphics g) {//要扩展父类某个方法,这个方法名字不能改动(系统自动调用)
		super.paint(g);//继承父类的优良方法。
		
		//扩展新内容
		g.drawOval(10, 10, 100, 100);//画圆
	}
	
}

效果:

在这里插入图片描述

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值