簡介
Applet必須運行于某個特定的“容器”,這個容器可以是浏覽器本身,也可以是通過各種插件,或者包括支持Applet的移動設備在内的其他各種程序來運行。與一般的Java應用程序不同,Applet不是通過main方法來運行的。在運行時Applet通常會與用戶進行互動,顯示動态的畫面,并且還會遵循嚴格的安全檢查,阻止潛在的不安全因素(例如根據安全策略,限制Applet對客戶端文件系統的訪問)。
在Java Applet中,可以實現圖形繪制,字體和顔色控制,動畫和聲音的插入,人機交互及網絡交流等功能。Applet還提供了名為抽象窗口工具箱(Abstract Window Toolkit, AWT)的窗口環境開發工具。AWT利用用戶計算機的GUI元素,可以建立标準的圖形用戶界面,如窗口、按鈕、滾動條等等。目前,在網絡上有非常多的Applet範例來生動地展現這些功能,讀者可以去調閱相應的網頁以觀看它們的效果。
Applet的語言特點
從Applet類擴展而創建的用戶Applet新類。類定義舉例:public class hello2 extends Applet
Applet依賴于浏覽器的調用。
通過〈Applet〉标記嵌入在HTML文件中。
HTML中Applet标記的主要屬性
Code=Applet文件标識。
Codebase=Applet文件所在路徑。
width=Applet顯示區域的寬度。
height=Applet顯示區域的高度。
name=Applet的符号名,用于同頁面不同Applet之間的通信。
Applet的生命周期
init()、start()、stop()、destroy()方法都是Applet類中已經定義的方法,
系統根據上述規則自動執行Applet的生命周期。
用戶Applet中也可重新定義這些方法(重載)。
例3.1 了解Applet的生命周期。
首先執行init()方法,構造了Car類的實例Car1,并計算了price1和mycar1。
然後執行start()方法,計算了price2。
然後執行paint()方法,在頁面上顯示Price1和price2的信息。
Applet的工作原理
含有Applet的網頁的HTML文件代碼中部帶有和這樣一對标記,當支持Java的網絡浏覽器遇到這對标記時,就将下載相應的小應用程序代碼并在本地計算機上執行該Applet。
例2.1帶有一個Applet的主頁
Welcome to my homepage!
This is an example homepage, you can see an applet in it。
上面這個例子就是一個簡單主頁的HTML文件代碼。代碼第五行中的<P>,是為了确保Applet出現在新的一行,也就是說,<P>的作用象一個回車符号,若沒有它,Applet将會緊接着上一行的最後一個單詞出現。代碼第六、七兩行是關于Applet的一些參數。其中第六行是必需的Applet參數,定義了編譯後的包含Applet字節碼的文件名,後綴通常為“.class”;和以象素為單位的Applet的初始寬度與高度。第七行則是附加的Applet參數,它由一個分離的<param>标記來指定其後的名稱和值,在這裡是img的值為“example.gif’,它代表了一個圖形文件名。
Applet的下載與圖形文件一樣需要一定的時間,若幹秒後它才能在屏幕上顯示出來。等待的時間則取決于Applet的大小和用戶的網絡連接的速度。一旦下載以後,它便和本地計算機上的程序以相同的速度運行了。
Applet在用戶的計算機上執行時,還可以下載其它的資源,如聲音文件、圖像文件或更多的Java代碼,有些Applet還允許用戶進行交互式操作。但這需要重複的鍊接與下載,因此速度很慢,這是一個亟待解決的問題,可以想到的一個好辦法是采用類似高速緩存的技術,将每次下載的文件都臨時保存在用戶的硬盤上,雖然第??需直接從硬盤上讀取文件而無需再與Internet連接,便可以大大提高性能了。



















