为了账号安全,请及时绑定邮箱和手机立即绑定

请问在paint()里调repaint()为什么不是死循环?

请问在paint()里调repaint()为什么不是死循环?

绝地无双 2022-05-26 14:11:34
repaint会产生一个awt线程去调用update方法,然后由这个方法再调用paint方法。这不还是一死循环吗,只不过多了个弯?paint又调repaint又调update又调paint……qqlxinye:当paint被调用时就会产生一个线程专看着图像有没有变,当repaint时其实就是叫这线程看看图像是不是改变了,改了就调update没改就什么都不干,是吗?
查看完整描述

1 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

paint调repaint,会有明显的刷新,repaint调update时会看图是否有改,有改时刷新重画,没改时是不会调paint的,
说的差不多,不过repaint通常会有明显的刷新,就是不重写repaint时,你生成一个paint,在生成好后都会有一个repaint来重画的,看起来像刷新,repaint调update时是看情况做的,所以想要不刷新看图,通常是先后面的方试去画图,否则,图多了时,一个一个图出来都刷新着出来看起来好怪的

查看完整回答
反对 回复 2022-05-30
  • 1 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号