文档

Java™教程
隐藏目录
Applet的生命周期
路径:部署
课程:Java小程序
章节:开始使用小程序

小程序的生命周期

一个applet可以通过以下方式对主要事件做出反应:

本节介绍了一个新的applet,Simple,它使用了所有这些方法。与Java应用程序不同,applet不需要实现一个main方法。

下面是Simple applet的代码。


注意:如果您看不到示例运行,可能需要在浏览器中启用JavaScript解释器,以使部署工具包脚本能够正常运行。

下面是Simple applet的源代码。当applet在其生命周期中遇到重要的里程碑时,例如用户首次访问包含applet的页面时,该applet会显示一个描述性字符串。

import java.applet.Applet;
import java.awt.Graphics;

//不需要扩展JApplet,因为我们不添加任何组件,只是绘制。
public class Simple extends Applet {

    StringBuffer buffer;

    public void init() {
        buffer = new StringBuffer();
        addItem("正在初始化... ");
    }

    public void start() {
        addItem("正在启动... ");
    }

    public void stop() {
        addItem("正在停止... ");
    }

    public void destroy() {
        addItem("正在准备卸载...");
    }

    private void addItem(String newWord) {
        System.out.println(newWord);
        buffer.append(newWord);
        repaint();
    }

    public void paint(Graphics g) {
	//在applet的显示区域周围绘制一个矩形。
        g.drawRect(0, 0, 
		   getWidth() - 1,
		   getHeight() - 1);

	//在矩形内部绘制当前字符串。
        g.drawString(buffer.toString(), 5, 15);
    }
}

注意:在这个示例中,扩展的是Applet类,而不是Swing的JApplet类,因为Swing组件不需要添加到这个applet中。

加载applet

当applet被加载时,您应该看到文本“正在初始化... 正在启动...”。当加载一个applet时,会发生以下情况:

离开和返回Applet页面

当用户离开页面时,例如去其他页面,浏览器会停止并销毁Applet。Applet的状态不会被保留。当用户返回页面时,浏览器会初始化并启动一个新的Applet实例。

刷新Applet

当您刷新或重新加载浏览器页面时,当前的Applet实例会停止并销毁,并创建一个新的实例。

退出浏览器

当用户退出浏览器时,Applet有机会在浏览器关闭之前停止自身并执行最后的清理工作。

下载简单Applet示例的源代码以进一步进行实验。


上一页: 里程碑方法
下一页: Applet的执行环境