重绘原因
当窗体的大小改变后,画板上画图形的缓存会自动清空(屏幕上绘制的图像是将窗体中的对象数据从内存中取出来放到缓存中,再绘制的。),重新调用paint方法,但是paint中没有重绘这些图形的方法,只重绘窗体上的组件。
重绘步骤
1.用重新定义一个绘图的shape类用来保存图形的数据,绘制想要在窗体上绘制的图形 ,不直接用画笔绘制图形到窗体上,而是利用自己定义的绘制图形的方法。

画图板的重绘
画图板的重绘

2.将这些图形存在一个数组中

画图板的重绘

3.重写窗体JFrame的paint方法,在方法中将数组的图形元素取出,逐一绘制在窗体上。

画图板的重绘

为何要自己定义一个绘制图形的方法?
(将每个图形的基本属性写成类的基本属性,哪里要绘制图形,调用它对应的方法即可)。

重绘多边形时,将多边形看成是多条直线组成的,所以每画一条线后就将其保存到数组中。

相关文章:

  • 2021-08-25
  • 2021-12-04
  • 2021-11-30
  • 2021-08-18
  • 2021-08-14
  • 2021-09-13
  • 2020-05-01
  • 2021-09-16
猜你喜欢
  • 2021-12-31
  • 2021-04-10
  • 2021-09-26
  • 2021-11-30
  • 2021-10-09
  • 2021-06-27
  • 2021-09-16
相关资源
相似解决方案