----Java程序有两种类型:Applet和Application。简单的讲,Applet就是嵌入Web文档的程序,而Application则是所有其它类型的程序。
----就Java而言,Applet与Application的大小和复杂性都没有限制,但是因为Applet主要是用于网络通讯,由于通讯速度有限,下载时间较长,因而Applet一般来说规模较小,而对于Application则无此顾虑。
----Applet与Application之间的技术差别来源于其运行环境的差别。Applet需要来自浏览器的大量信息:浏览器客户机的位置和大小、嵌入主HTML文档的参数、初始化过程(init)、启动过程(start)、停止过程(stop)、终止过程(destory)、绘图过程(paint)等等,而Application则相对要简单得多,它来自外部世界的唯一输入就是命令行参数。
----对于Applet必须做为java.applet.Applet的子类,而Application则必须有一个公共的方法main()。其次,两者的主线程是不同的,Applet是由方法init()来对applet进行初始化的,而Application则由方法main()来开始运行程序的。一般地,Java的Applet和Application是完全遵照以上的原则进行编程的,但是,我们可以运用技巧写出即是Applet又是Application的程序来。这样,即可以使我们更进一步了解Java的内部结构又可以使同一程序运行于不同的运行环境、还可以提高研究Java的兴趣。
----例程如下:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Example extends Applet
implements ActionListener{ // #1
public static void main(String[] args){
Frame win=new Frame(?xample");
Example example=new Example();
win.add(?enter", example);
example.init(); // #2
win.setSize(600,360);
win.setVisible(true);
}
public void init(){ // #3
Button button;
Label label;
button=new Button(" OK "):
button.setBounds(280,200,100,20);
button.addActionListener(this);
label=new Label();
label.setBounds(260,100,200,20);
add(button);
add(label);
}
public void actionPerformed(ActionEvent e){
Object source=e.getSource();
if(source==button){
label.setText(" It is a example !");
}
}
}
----在程序中的#1处,必须让程序继承java.applet.Applet类这是做为Applet的必要条件,在#2处,需要生成本类的一个实例example,通过此实例来调用init()方法,#3是init()方法。
----如果把该程序看作Applet,它只是覆盖了init()方法和actionPerformed()方法来响应Button事件。如果作为Application,则由main()方法开始,先生成程序本身的实例将程序加入窗口,然后调用init()方法。编译此程序,即可以在提示下作为Application直接运行,又可以作为Applet送入任何浏览器。
///////////////////////////////
大连博涵咨询服务有限公司 吕东兵