有没有人能告诉我java applet中的paint()方法究竟是如何工作的,简单来说呢?就像,当它被调用时,它将如何调用?因为有时它被多次调用,我不知道会发生这种情况。
答案 0 :(得分:3)
要理解这一点,您需要了解Applet Lifecycle ..
小程序的生命周期:
Applet类中的四个方法为您提供构建任何严重applet的框架:
1)init:此方法适用于applet所需的初始化。在applet标记内的param标记处理完毕后调用它。
2)start:浏览器调用init方法后自动调用此方法。每当用户在离开其他页面后返回包含applet的页面时,也会调用它。
3)stop:当用户离开applet所在的页面时,会自动调用此方法。因此,它可以在同一个小程序中重复调用。
4)destroy:只在浏览器正常关闭时调用此方法。因为applet意图存在于HTML页面上,所以在用户离开包含applet的页面后,通常不应该留下资源。
5) paint:在start()方法之后立即调用,也是applet需要在浏览器中重新绘制自己的时间。 paint()方法实际上是从java.awt继承的。
第二种情况,当paint()调用生成时,程序调用repaint()或update()。 repaint()方法是程序调用绘制的方法。它们是此方法的4个版本,但通常使用没有参数的版本。通过repaint()绘图通常是为了响应用户输入而进行的。
repaint()==> update()==(通常是电话)==>漆()强>
repaint()不直接调用paint()。它调度对中间方法update()的调用。最后,update()调用paint()(除非你覆盖更新)。