0

谁能简单地告诉我java小程序中的paint()方法是如何工作的?比如,什么时候调用,怎么调用?因为有时它会被多次调用,我不知道这是怎么发生的。

4

1 回答 1

3

要理解这一点,您需要了解 Applet Lifecycle..

小程序的生命周期:

Applet 类中的四个方法为您提供了构建任何重要小程序的框架:

1) init:此方法适用于您的小程序所需的任何初始化。在applet标签内的param标签被处理后调用它。

2)start:该方法在浏览器调用init方法后自动调用。每当用户在离开到其他页面后返回到包含小程序的页面时,也会调用它。

3) stop:当用户离开小程序所在的页面时,会自动调用此方法。因此,它可以在同一个小程序中重复调用。

4)destroy:该方法只在浏览器正常关闭时调用。因为applet 是要存在于HTML 页面上的,所以通常不应在用户离开包含applet 的页面后留下资源。

5)绘制:在 start() 方法之后立即调用,也可以在小程序需要在浏览器中重新绘制自身的任何时候调用。paint() 方法实际上继承自 java.awt。

第二种情况,paint() 调用是在程序调用 repaint() 或 update() 时生成的。 repaint() 方法是由程序调用来进行绘图的方法。它们是此方法的 4 个版本,但通常使用不带参数的版本。通过 repaint() 进行绘制通常是为了响应用户输入。

repaint() ==> update() ==(通常调用)==> paint()

repaint() 不直接调用paint()。它安排对中间方法 update() 的调用。最后, update() 调用paint() (除非您覆盖更新)。

于 2013-04-12T17:20:15.927 回答