Applet 的生命周期(Java)

2025 年 3 月 23 日 | 阅读 4 分钟

在 Java 中,applet 是一种特殊的程序,嵌入到网页中以生成动态内容。Applet 是 Java 中的一个类。

Applet 生命周期可以定义为对象在其应用程序的整个执行过程中如何被创建、启动、停止和销毁的过程。它主要有五个核心方法,即 init()、start()、stop()、paint() 和 destroy()。这些方法由浏览器调用来执行。

除了浏览器,Applet 也在客户端工作,从而减少了处理时间。

Applet 生命周期的方法

Applet Life Cycle in Java

Applet 生命周期有五种方法,它们是:

  • init(): init() 方法是第一个运行的初始化 applet 的方法。它只能在初始化时调用一次。Web 浏览器创建初始化的对象,即 Web 浏览器(在检查安全设置后)在 applet 中运行 init() 方法。
  • start(): start() 方法包含 applet 的实际代码并启动 applet。它在 init() 方法被调用后立即被调用。每次浏览器加载或刷新时,都会调用 start() 方法。它也会在 applet 最大化、恢复或在浏览器中从一个选项卡移动到另一个选项卡时调用。在 init() 方法被调用之前,它处于非活动状态。
  • stop(): stop() 方法停止 applet 的执行。每当 applet 被停止、最小化或从浏览器中的一个选项卡移动到另一个选项卡时,都会调用 stop() 方法。当我们返回到该页面时,start() 方法会再次被调用。
  • destroy(): destroy() 方法在 applet 完成其工作后销毁 applet。当 applet 窗口关闭或包含网页的选项卡关闭时,会调用该方法。它从内存中移除 applet 对象,并且只执行一次。一旦 applet 被销毁,我们就无法启动它。
  • paint(): paint() 方法属于 Java 中的 Graphics 类。它用于在 applet 中绘制诸如圆形、正方形、梯形等形状。它在 start() 方法之后以及浏览器或 applet 窗口调整大小时执行。

执行 applet 时的方法执行顺序

  1. init()
  2. start()
  3. paint()

执行 applet 时的方法执行顺序

  1. stop()
  2. destroy()

Applet 生命周期工作原理

  • Java 插件软件负责管理 applet 的生命周期。
  • Applet 是在任何 Web 浏览器中执行并在客户端工作的 Java 应用程序。它没有 main() 方法,因为它在浏览器中运行。因此,它的创建是为了放置在 HTML 页面上。
  • init()、start()、stop() 和 destroy() 方法属于 applet.Applet 类。
  • paint() 方法属于 awt.Component 类。
  • 在 Java 中,如果我们想使一个类成为 Applet 类,我们需要继承 Applet
  • 每当我们创建一个 applet 时,我们都是在创建现有 Applet 类的实例。因此,我们可以使用该类的所有方法。

Applet 生命周期流程

这些方法由浏览器自动调用。无需显式调用它们。

Applet Life Cycle in Java

Java 中整个 Applet 生命周期的语法


Java applet 生命周期 MCQ

1. 在 applet 生命周期中,哪个方法仅在首次加载 applet 时调用一次?

  1. init()
  2. start()
  3. stop()
  4. destroy()
 

答案:a

解释: init() 方法仅在首次加载 applet 时调用一次,它用于初始设置,例如初始化变量和资源。


2. applet 生命周期中调用的方法的顺序是什么?

  1. init(), start(), stop(), destroy()
  2. start(), init(), stop(), destroy()
  3. init(), stop(), start(), destroy()
  4. init(), start(), destroy(), stop()
 

答案:a

解释: applet 生命周期中方法的正确顺序是 init()、start()、stop() 和 destroy()。


3. 每次 applet 启动或重新启动时都会调用哪个方法?

  1. init()
  2. start()
  3. stop()
  4. destroy()
 

答案:b

解释: 每次 applet 启动或重新启动时,例如当用户重新访问 applet 的网页时,都会调用 start() 方法。


4. 在 applet 中调用 stop() 方法时会发生什么?

  1. Applet 立即终止
  2. Applet 暂停,可以重新启动
  3. Applet 被销毁
  4. Applet 的 init() 方法再次被调用
 

答案:b

解释: 调用 stop() 方法是为了暂停 applet 的执行,例如当用户离开 applet 的页面时。 Applet 稍后可以重新启动。


5. 何时在 applet 生命周期中调用 destroy() 方法?

  1. 当 applet 首次加载时
  2. 当 applet 暂停时
  3. 当 applet 终止时
  4. 当 applet 即将被销毁时
 

答案:d

解释: 当 applet 即将被销毁时,例如当浏览器关闭或不再需要 applet 时,会调用 destroy() 方法。 它用于清理活动。