一、Java Applet 基础
Applet 是一种Java 程序。它一般运行在支持Java 的Web 浏览器内。因为它有完整的Java API支持,所以Applet 是一个全功能的Java 应用程序。
如下所示是独立的Java 应用程序和applet 程序之间重要的不同:
Java 中Applet 类继承了java.applet.Applet 类。
Applet 类没有定义main(),所以一个Applet 程序不会调用main() 方法。
Applet 被设计为嵌入在一个HTML 页面。
当用户浏览包含Applet 的HTML 页面,Applet 的代码就被下载到用户的机器上。
要查看一个Applet 需要JVM。JVM 可以是Web 浏览器的一个插件,或一个独立的运行时环境。
用户机器上的JVM 创建一个Applet 类的实例,并调用Applet 生命周期过程中的各种方法。
Applet 有Web 浏览器强制执行的严格的安全规则,Applet 的安全机制被称为沙箱安全。
java浏览器下载
Applet 需要的其他类可以用Java 归档(JAR)文件的形式下载下来。
二、Applet的生命周期
Applet 类中的四个方法给我们提供了一个框架,你可以在该框架上开发小程序:
init: 该方法的目的是为你的Applet 提供所需的任何初始化。在Applet 标记内的param 标签被处理后调用该方法。
start: 浏览器调用init 方法后,该方法被自动调用。每当用户从其他页面返回到包含Applet 的页面时,则调用该方法。
stop: 当用户从包含Applet 的页面移除的时候,该方法自动被调用。因此,可以在相同的Applet 中反复调用该方法。
destroy: 此方法仅当浏览器正常关闭时调用。因为Applet 只有在HTML 网页上有效,所以你不应该在用户离开包含Applet 的页面后遗漏任何资源。
paint: 该方法在start() 方法之后立即被调用,或者在Applet 需要重绘在浏览器的时候调用。paint() 方法实际上继承于java.awt。
三、"Hello, World" Applet:
下面是一个简单的Applet 程序HelloWorldApplet.java:
HelloWorldApplet.java 文件代码:
import java.applet.*;
import java.awt.*;
public class HelloWorldApplet extends Applet {
public void paint (Graphics g) {
g.drawString ("Hello World", 25, 50);
} }
这些import 语句将以下类导入到我们的Applet 类中:
java.applet.Applet. java.awt.Graphics.
没有这些import 语句,Java 编译器就识别不了Applet 和Graphics 类。
四、Applet 类
每一个Applet 都是java.applet.Applet 类的子类,基础的Applet 类提供了供衍生类调用的方法,以此来得到浏览器上下文的信息和服务。
这些方法做了如下事情:
得到Applet 的参数
得到包含Applet 的HTML 文件的网络位置
得到Applet 类目录的网络位置
打印浏览器的状态信息
获取一张图片
获取一个音频片段
播放一个音频片段
调整此Applet 的大小
除此之外,Applet 类还提供了一个接口,该接口供Viewer 或浏览器来获取Applet 的信息,并且来控制Applet 的执行。
Viewer 可能是:
请求Applet 作者、版本和版权的信息
请求Applet 识别的参数的描述
初始化Applet
销毁Applet
开始执行Applet
结束执行Applet
Applet 类提供了对这些方法的默认实现,这些方法可以在需要的时候重写。
"Hello,World"applet 都是按标准编写的。唯一被重写的方法是paint 方法。
五、Applet 的调用
Applet 是一种Java 程序。它一般运行在支持Java 的Web 浏览器内。因为它有完整的Java API 支持,所以Applet 是一个全功能的Java 应用程序。