Java浅谈“重绘”

何为重绘?

官方定义:

重绘是指在图形界面中,当窗口需要更新显示内容时,系统会调用重绘函数来重新绘制窗口的内容。重绘通常是在窗口被遮挡后再次可见时发生,或者在窗口内容发生变化时触发。

小编认为:

简单举个例子吧,好比在我们的窗体上画好一条直线之后,当我们用鼠标拉大窗体的比例时,窗体界面上的直线就会消失,而重绘就是指在我们对组件做出改变时,它可以通过保存并再次恢复原有图形数据而让原有图形存在。

如何实现重绘?

在Java中,重绘是通过调用组件的paint()方法来实现的。paint()方法是一个重要的方法,用于在组件上绘制图形,当需要重绘某个组件时,Java会自动调用该组件的paint()方法。

具体实现如下:

第一步:确定重绘的范围

确定需要进行重绘的区域,比如是五子棋的画布还是已经下好的棋子…
假设我们现在要重绘的就是上述的五子棋的画布在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

第二步:重写paint( )方法

因为每改变一次窗体,paint方法就会自动调用,重新实现组件,我们则需要再paint()中重写相关的方法,使得组件被实现的同时,我们原有图形也被重新实现。
在这里插入图片描述
注意:
重写paint方法相当于对原有的类里面所执行的方法(需要重绘区域)的保存与再次输出,也就是存在父类与子类的关系,这里就牵涉到了类的继承,重写的paint方法存在于子类中。(若想具体了解类的继承,可见小编上篇文章)

第三步:注意其它情况

其实以上两个步骤已经实现了五子棋盘的重绘,但若想重绘五子棋或者许多条已经画好的直线,这时候就需要我们设计数组和相关的类来保存图形数据,最后输出图形数据实现重绘。
比如我们需要实现直线的重绘

首先:设计数组和相关的类保存数据

也就是将我们要重绘的图形用数组来进行保存。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后:将图形数据保存到数组中

创建对象,并将图形数据转换为该对象的相关属性。
在这里插入图片描述

最后:将图形用类封装并输出数据以达到目的

将已保存数组的数组放到类里面进行调用。
在这里插入图片描述
在这里插入图片描述

今日的分享就到此结束啦(若有错误,还麻烦各位友友们指出)
我们之间的联系,未完待续…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值