标题：小应用程序
详述
小应用程序(Applet)是可通过因特网下载并在接收计算机上运行的一小段程序。小应用程序通常用Java语言编写并运行在浏览器软件中，applet典型用于为万维网网页页面定制或添加交互格式元素。 
Applet可以翻译为小应用程序，Java Applet就是用Java语言编写的这样的一些小应用程序，它们可以直接嵌入到网页或者其他特定的容器中，并能够产生特殊的效果。
运行条件
Applet必须运行于某个特定的“容器”，这个容器可以是浏览器本身，也可以是通过各种插件，或者包括支持Applet的移动设备在内的其他各种程序来运行。与一般的Java应用程序不同，Applet不是通过main方法来运行的。在运行时Applet通常会与用户进行互动，显示动态的画面，并且还会遵循严格的安全检查，阻止潜在的不安全因素（例如根据安全策略，限制Applet对客户端文件系统的访问）。 
在Java Applet中，可以实现图形绘制，字体和颜色控制，动画和声音的插入，人机交互及网络交流等功能。 Applet还提供了名为抽象窗口工具箱（Abstract Window Toolkit， AWT）的窗口环境开发工具。 AWT利用用户计算机的GUI元素，可以建立标准的图形用户界面，如窗口、按钮、滚动条等等。在网络上有非常多的Applet范例来生动地展现这些功能，读者可以去调阅相应的网页以观看它们的效果。[1]
语言特点
从Applet类扩展而创建的用户Applet新类。
类定义举例：public class hello2 extends Applet
Applet依赖于浏览器的调用。
通过〈Applet〉标记嵌入在HTML文件中。[1]
主要属性
Code=Applet文件所在路径。
Codebase=Applet文件标识。
width=Applet显示区域的宽度。
height=Applet显示区域的高度。
name=Applet的符号名，用于同页面不同Applet之间的通信。[1]
生命周期
  Applet的生命周期init()、start()、stop()、destroy()方法都是Applet类中已经定义的方法，　系统根据上述规则自动执行Applet的生命周期。
用户Applet中也可重新定义这些方法（重载）。
例3.1 了解Applet的生命周期。
首先执行init()方法，构造了Car类的实例Car1，并计算了price1和mycar1。
然后执行start()方法，计算了price2。
然后执行paint()方法，在页面上显示Price1和price2的信息。[1]
工作原理
含有Applet的网页的HTML文件代码中部带有 和这样一对标记，当支持Java的网络浏览器遇到这对标记时，就将下载相应的小应用程序代码并在本地计算机上执行该Applet。
例2.1带有一个Applet的主页
<html>
Welcome to my homepage! 
This is an example homepage， you can see an applet in it。
上面这个例子就是一个简单主页的HTML文件代码。代码第五行中的 
","是为了确保Applet出现在新的一行，也就是说","的作用象一个回车符号，若没有它， Applet将会紧接着上一行的最后一个单词出现。代码第六、七两行是关于Applet的一些参数。其中第六行是必需的Applet参数，定义了编译后的包含Applet字节码的文件名，后缀通常为“.class”；和以象素为单位的Applet的初始宽度与高度。第七行则是附加的Applet参数，它由一个分离的标记来指定其后的名称和值，在这里是img的值为“example.gif’，它代表了一个图形文件名。
Applet的下载与图形文件一样需要一定的时间，若干秒后它才能在屏幕上显示出来。等待的时间则取决于Applet的大小和用户的网络连接的速度。一旦下载以后，它便和本地计算机上的程序以相同的速度运行了。
Applet在用户的计算机上执行时，还可以下载其它的资源，如声音文件、图像文件或更多的Java代码，有些Applet还允许用户进行交互式操作。但这需要重复的链接与下载，因此速度很慢，这是一个亟待解决的问题，可以想到的一个好办法是采用类似高速缓存的技术，将每次下载的文件都临时保存在用户的硬盘上，虽然第一次使用时花的时间比较多，但当再次使用时，只需直接从硬盘上读取文件而无需再与Internet连接，便可以大大提高性能了。[1]
事件响应
Java的AWT库允许你把用户界面建立在Java applet中。AWT库包含有所有的用于建立简单界面所需要的控制：按钮、编辑框、检查框等等。
import java.awt.*;
import java.applet.*;
public class AppletEvent extends Applet
{
int x, y ;
Button b ;
Color clr ; 
在该applet构造函数中，代码初始化了变量x，y，clr，建立了一个新的显示“你就按着玩儿吧！”按钮控制，然后把按钮添加到窗体中。
public AppletEvent()
{
y = 40 ;
x = 100 ;
clr = Color.red ;
b = new Button("你就按着玩儿吧！");
add("Center", b);
} 
窗口还包含有用paint方法绘制的字符。
public void paint(Graphics g)
{
g.setColor(Color.red);
g.setFont(new Font("Helvetica", Font.PLAIN, 24));
g.drawString("InofCD欢迎您!", x, y);
} 
在applet类中添加事件处理函数。也可以从按钮的基类继承一新的按钮类，然后在那里处理事件。在该applet中的“action”方法选择applet的事件流。当每个事件流到达时，它检验其是否来自Button
[url=http://www. itisedu. com/phrase/.html]对象[/url]
。如果是，它会增加y和减少x并使该applet重绘自己。ev.arg属性传递了来自被单击按钮的标签，并把它与所按的按钮的标签进行比较。
public boolean action(Event ev, 
[url=http://www. itisedu. com/phrase/.html]Object[/url]
arg)
{
if (ev.target instanceof Button)
{
y+= 10 ;
x = x- 10 ;
if (y>=250) y= 10 ;
if (x
repaint();
return true;
}
return false;
}
} [1]
相关比较
Applet与Swing的比较
Java Applet 是用 Java 语言编写的，包含在网页里的“小 应用程序”。通常被放在 Web 服务器。当有人上网浏览时，Applet 随网页一起 下载到客户端的浏览器中，并借助浏览器中的 Java 虚拟机（JVM）运行工作。
AWT是Java中可视的一部分API，是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的java.awt包提供，里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类，这些类又被称为组件(components)。遗憾的是AWT设计的严重缺陷，不能满足发展的需要，Swing技术的推出，为Java GUI编程提供了强大丰富的API和灵活的结构设计，并在AWT基础上，提供了替代AWT重量组件的轻量组件。[1]