java图形界面基础之画图(使用Graphics类从画图形到图片到gif)

这篇博客介绍了如何使用Java的Graphics类在JFrame上画图,包括颜色和形状的渐变效果,并展示了如何通过鼠标监听器实现动态画图。作者通过getGraphics方法获取画笔,使用MouseListener接口处理鼠标事件,实现动态画gif图。在gif图的播放过程中,作者发现由于每次drawImage加载的是gif的不同帧,连续重绘产生了播放效果。然而,这也导致了在gif播放时窗体无法正常关闭,需等待循环结束。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天,使用Graphics类画笔时,发现了许多有趣的现象,用for循环实现颜色和形状的渐变;此外,还发现了在JFrame中画动态图的方法。

下面是画图的效果:

 

 

 


用for循环画的gif图 

 

首先,定义一个DrawFrame类,继承自JFrame类,类中有main函数和一般方法showUI()。showUI用于实现图形界面;同样,需要加一个鼠标监听器,以实现用鼠标画图的功能。

使用JFrame的方法getGraphics,得到窗体的画笔,实例化DrawListener()并把画笔传过去,再给事件源JFrame添加鼠标监听器方法。

		
		java.awt.Graphics g = this.getGraphics();//调用画笔Graphics赋予g,必须写在setVisible后面,否则为null
		DrawListener dl = new DrawListener(g);//实例化DrawListener事件接口对象
		this.addMouseListener(dl);//给事件源(JFrame)添加鼠标监听器方法

 再定义一个DrawListener类,实现MouseListener接口。实现接口必须重写其所有的抽象方法;另外,为了把JFrame的Graphics传到DrawListener类中进行处理,使用构造方法传参或set方法传参。

  

	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值