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页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>The AppletTest</title>
<applet code ="AppletTest2.class" width="320" height="120">
IF your browser was Java-enabled, a "Hello,World"message would apprear here</applet>
<param name="color" value="blue">
<param name="size" value="30">
</head>
<body>
</body>
</html>
注意:在HTML4中,<applet>标签已被废弃,在HTML5中被<object> 标签取代,但是<object>只能支持 IE 浏览器;
这是IE运行结果,不算是个成功的测试
网友评论