猿问

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

repaint会产生一个awt线程去调用update方法,然后由这个方法
再调用paint方法。
这不还是一死循环吗,只不过多了个弯?paint又调repaint又调update又调paint……
qqlxinye:
当paint被调用时就会产生一个线程专看着图像有没有变,当repaint时其实就是叫这线程看看图像是不是改变了,改了就调update没改就什么都不干,是吗?

绝地无双
浏览 144回答 1
1回答

忽然笑

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

相关分类

Java
我要回答