小应用程序是访问internet服务器,在internet上传播的,自动安装的,作为部分Web文档运行的小应用程序。当小应用程序到达客户端,它被限制访问资源,以使它能够在不受病毒威胁和破坏数据完整性的情况下生成一个二进制的多媒体用户界面以及完成复杂的计算。
然而,有关创建小应用程序的基础问题在这里描述,因为小应用程序与以前所用的程序具有不同的结构。你将看到,小应用程序在几处关键地方与应用程序不同。
让我们从下面的简单小应用程序开始:
import java.awt.*;
import java.applet.*;
public class SimpleApplet extends Applet {
public void paint(Graphics g) {
g.drawString("A Simple Applet", 20, 20);
}
}
这个小应用程序以两个import语句开始。第一个导入抽象窗口工具集(AWT)类。小应用程序是通过AWT与用户交流的,而不是通过基于控制台的输入/输出类。AWT包含了对基于视窗的图形界面的支持。
幸运的是,这个简单的小应用程序仅用到了AWT的一点点内容。第二个import语句导入了applet包,该包包含Applet类。每一个小应用程序都必须是Applet的子类。
程序的下面一行声明了SimpleApplet类。该类必须为public型,因为它的代码会在程序外面被引用。
在SimpleApplet内部声明了paint()。该方法由AWT定义且必须被小应用程序重载。小应用程序每次重新显示输出时都要调用paint()。发生这种情况有多种原因。例如,小应用程序运行的窗口可以被另一窗口重写然后覆盖。或者,小应用程序窗口可以最小化然后恢复。
paint()方法在小应用程序启动时也被调用。无论什么原因,当小应用程序需要重画输出时,paint()总被调用。paint()方法有一个Graphics类型的参数,该参数包含描绘小应用程序运行的图形环境的内容。一旦小应用程序需要输出,该内容被用到。 在paint( )内调用Graphics类成员drawString(),该方法从指定的X,Y坐标处输出一个字符串。它有下面的常用形式:
void drawString(String message, int x, int y)
这里message是以x,y为输出起点的字符串。在Java窗口中,左上角的位置为0,0。在小应用程序中DrawString()的调用使得在坐标20,20处开始显示消息“A Simple Applet”。
注意小应用程序没有main()方法,不像Java应用程序,小应用程序不以main()为程序起始。实际上,大多数小应用程序甚至不含main()方法。相反,当小应用程序类名被传输到小应用程序阅读器(applet view)或网络浏览器时它开始执行。
在你键入SimpleApplet的源代码后,用你以前编译程序的方法编译该程序。但是,运行SimpleApplet包含一个完全不同的过程。实际上,有两种方法可以运行小应用程序。
在一个兼容Java的网络浏览器,例如Netscape Navigator中执行小应用程序。
使用小应用程序阅读器,例如标准JDK工具,小应用程序阅览器。
一个小应用程序阅读器在窗口中执行小应用程序。这是检测小应用程序最快和最简单的方法。
上述方法在下面都有阐述。 为在一个网络浏览器中执行小应用程序,需要编写包含适当APPLET标记的简短的HTML文档。下面是执行SimpleApplet的HTML文件:
<applet code="SimpleApplet" width=200 height=60>
</applet>
width 和height语句指定了小应用程序用到的显示区域的尺寸。创建文件后,你可以启动浏览器并加载可以执行SimpleApplet的文件。
为使用小应用程序阅读器执行SimpleApplet,你也需执行前面HTML文件。例如前面所述的HTML文档叫做RunApp.html,则下面的命令行将运行SimpleApplet:
C:\>appletviewer RunApp.html
然而,存在一个更方便的方法使测试更快的完成。仅仅在你包含APPLET标记的Java源代码的开头加入一个命令。这样做,你的代码就被一个必要的HTML语句原型证明,你只需启动含有JAVA源码文件的小应用程序阅读器就可以测试你编译过的小应用程序。如果你使用该方法,SimpleApplet源文件如下:
import java.awt.*;
import java.applet.*;
/*
<applet code="SimpleApplet" width=200 height=60>
</applet>
*/
public class SimpleApplet extends Applet {
public void paint(Graphics g) {
g.drawString("A Simple Applet", 20, 20);
}
}
总的来说,你可以使用下面三步来应用小应用程序:
- 编写Java源程序。
- 编译程序。
- 执行小应用程序阅览器,指定小应用程序源文件名称。小应用程序阅览器将在注释中遇到APPLET标记并执行小应用程序。
SimpleApplet生成的窗口,在小应用程序阅览器中显示。该窗口如下面插图:
关于小应用程序的专题在本书后面有更详尽的讨论,下面是需要记住的关键点:
· 小应用程序不一定包含 main( ) 方法。
· 小应用程序必须在小应用程序阅读器或兼容JAVA的浏览器中运行。
· 用户输入/输出不是由Java的输入/输出流类来完成的。相反,小应用程序运用AWT提供的界面。