小伙伴们是否用java写过一些简单的图形界面?比如用JFrame做的一个简单画图板。那么你有没有发现一个很有趣的问题:当我们在画板上画出了一些图形后,我们把窗体最小化后再打开,我们会发现我们之前画的图形不见了。。。。
这是为什么呢?其实是这样的 ,在JFrame中有一个默认的paint方法,默认情况下此函数什么也不做,当我们最小或最大化窗体的时候,窗体程序其实是重新生成的,之前画的图像数据是没有储存下来的,所以我们看不到我们之前所画的图形。然而实际生活中不是这样的,只要我们没有关闭程序窗体内容是不会消失的。
要实现这个功能,我们必须重新让电脑绘制出我们之前所画的图形。这就是重绘。如何实现重绘呢?
首先,我们将我们所画的图形看成是一类“数据”,创建一个数组队列,将我们画的图形放入数组队列中,储存他们的坐标等参数。
然后,我们重写paint中方法,利用paint方法实现重绘。
具体的实现代码,同学们可以自己上网去查阅。