何为重绘?
官方定义:
重绘是指在图形界面中,当窗口需要更新显示内容时,系统会调用重绘函数来重新绘制窗口的内容。重绘通常是在窗口被遮挡后再次可见时发生,或者在窗口内容发生变化时触发。
小编认为:
简单举个例子吧,好比在我们的窗体上画好一条直线之后,当我们用鼠标拉大窗体的比例时,窗体界面上的直线就会消失,而重绘就是指在我们对组件做出改变时,它可以通过保存并再次恢复原有图形数据而让原有图形存在。
如何实现重绘?
在Java中,重绘是通过调用组件的paint()方法来实现的。paint()方法是一个重要的方法,用于在组件上绘制图形,当需要重绘某个组件时,Java会自动调用该组件的paint()方法。
具体实现如下:
第一步:确定重绘的范围
确定需要进行重绘的区域,比如是五子棋的画布还是已经下好的棋子…
假设我们现在要重绘的就是上述的五子棋的画布
第二步:重写paint( )方法
因为每改变一次窗体,paint方法就会自动调用,重新实现组件,我们则需要再paint()中重写相关的方法,使得组件被实现的同时,我们原有图形也被重新实现。
注意:
重写paint方法相当于对原有的类里面所执行的方法(需要重绘区域)的保存与再次输出,也就是存在父类与子类的关系,这里就牵涉到了类的继承,重写的paint方法存在于子类中。(若想具体了解类的继承,可见小编上篇文章)
第三步:注意其它情况
其实以上两个步骤已经实现了五子棋盘的重绘,但若想重绘五子棋或者许多条已经画好的直线,这时候就需要我们设计数组和相关的类来保存图形数据,最后输出图形数据实现重绘。
比如我们需要实现直线的重绘
首先:设计数组和相关的类保存数据
也就是将我们要重绘的图形用数组来进行保存。
然后:将图形数据保存到数组中
创建对象,并将图形数据转换为该对象的相关属性。
最后:将图形用类封装并输出数据以达到目的
将已保存数组的数组放到类里面进行调用。
今日的分享就到此结束啦(若有错误,还麻烦各位友友们指出)
我们之间的联系,未完待续…