Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程序。

Applet 类继承了 java.applet.Applet 类。它没有定义 main(),所以一个 Applet 程序不会调用 main() 方法,此外,Applet被设计为嵌入在一个 HTML 页面。查看一个 Applet 需要 JVM, JVM 可以是 Web 浏览器的一个插件,或一个独立的运行时环境。Applet 有 Web 浏览器强制执行的严格的安全规则,Applet 的安全机制被称为沙箱安全。

Applet的生命周期

init:为 Applet 提供所需的任何初始化。在 Applet 标记内的 param 标签被处理后调用该方法。

start: 浏览器调用 init 方法后,该方法被自动调用。每当用户从其他页面返回到包含 Applet 的页面时,则调用该方法。

stop: 当用户从包含 Applet 的页面移除的时候,该方法自动被调用。因此,可以在相同的 Applet 中反复调用该方法。

destroy:此方法仅当浏览器正常关闭时调用。因为 Applet 只在 HTML 网页上有效,所以不应该在用户离开包含 Applet 的页面后遗漏任何资源。

paint: 该方法在 start() 方法之后立即被调用,或者在 Applet 需要重绘在浏览器的时候调用。paint() 方法实际上继承于 java.awt。

Applet类方法

每一个 Applet 都是 java.applet.Applet 类的子类,基础的 Applet 类提供了供衍生类调用的方法,以此来得到浏览器上下文的信息和服务。包括以下内容:

得到 Applet 的参数;

得到包含 Applet 的 HTML 文件的网络位置;

得到 Applet 类目录的网络位置;

打印浏览器的状态信息;

获取一张图片;

获取一个音频片段;

播放一个音频片段;

调整此 Applet 的大小;

下面为Java代码实例

实例 Applet 的调用

编写Applet

import java.applet.Applet;
import java.awt.*;
public class AppletTest2extends Applet {
int size =50;
public void init(){
String sizeparam = getParameter("size");
parseSquareSize((sizeparam));
String colorparam = getParameter("color");
Color fg = paramColor((colorparam));
setBackground(Color.black);
setForeground(fg);
}
private void parseSquareSize (String param){
if (param==null)return;
try {
size = Integer.parseInt((param));
}catch (Exception e){
//保留默认值
}
}
private Color paramColor (String param){
return null;
}
public void paint(Graphics g){}
}

上面讲到Applet需要嵌入HTML页面,这里编写一个简单的HTML页面

The AppletTest


IF your browser was Java-enabled, a "Hello,World"message would apprear here

注意:在HTML4中,标签已被废弃,在HTML5中被 标签取代,但是只能支持 IE 浏览器;

这是IE运行结果,不算是个成功的测试