Java是一種建立分布應用程序的技術。它是網絡編程的最優秀工具。使Internet的應用從通訊工具擴展到能夠運行成熟應用程序的網絡。
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送入任何浏覽器。