Java Applet基礎
applet是一種Java程式。它一般執行在支援Java的Web瀏覽器內。因為它有完整的Java API支援,所以applet是一個全功能的Java應用程式。
如下所示是獨立的Java應用程式和applet程式之間重要的不同:
Java中applet類繼承了 java.applet.Applet類
Applet類沒有定義main(),所以一個 Applet程式不會呼叫main()方法,
Applets被設計為嵌入在一個HTML頁面。
當用戶瀏覽包含Applet的HTML頁面,Applet的程式碼就被下載到使用者的機器上。
要檢視一個applet需要JVM。 JVM可以是Web瀏覽器的一個外掛,或一個獨立的執行時環境。
使用者機器上的JVM建立一個applet類的例項,並呼叫Applet生命週期過程中的各種方法。
Applets有Web瀏覽器強制執行的嚴格的安全規則,applet的安全機制被稱為沙箱安全。
applet需要的其他類可以用Java歸檔(JAR)檔案的形式下載下來。
Applet的生命週期
Applet類中的四個方法給你提供了一個框架,你可以再該框架上開發小程式:
init: 該方法的目的是為你的applet提供所需的任何初始化。在Applet標記內的param標籤被處理後呼叫該方法。
start: 瀏覽器呼叫init方法後,該方法被自動呼叫。每當使用者從其他頁面返回到包含Applet的頁面時,則呼叫該方法。
stop:當用戶從包含applet的頁面移除的時候,該方法自動被呼叫。因此,可以在相同的applet中反覆呼叫該方法。
destroy: 此方法僅當瀏覽器正常關閉時呼叫。因為applets只有在HTML網頁上有效,所以你不應該在使用者離開包含Applet的頁面後遺漏任何資源.
paint: 該方法在start()方法之後立即被呼叫,或者在applet需要重繪在瀏覽器的時候呼叫。paint()方法實際上繼承於java.awt。
"Hello, World" Applet:
下面是一個簡單的Applet程式HelloWorldApplet.java:
import java.applet.*;
import java.awt.*;
public class HelloWorldApplet extends Applet
{
public void paint (Graphics g)
{
g.drawString ("Hello World", 25, 50);
}
}
這些import語句將以下類匯入到我們的applet類中:
java.applet.Applet.
java.awt.Graphics.
沒有這些import語句,Java編譯器就識別不了Applet和Graphics類。
Applet 類
每一個applet都是java.applet.Applet 類的子類,基礎的Applet類提供了供衍生類呼叫的方法,以此來得到瀏覽器上下文的資訊和服務。
這些方法做了如下事情:
得到applet的引數
得到包含applet的HTML檔案的網路位置
得到applet類目錄的網路位置
列印瀏覽器的狀態資訊
獲取一張圖片
獲取一個音訊片段
播放一個音訊片段
調整此 applet 的大小
除此之外,Applet類還提供了一個介面,該介面供Viewer或瀏覽器來獲取applet的資訊,並且來控制applet的執行。
Viewer可能是:
請求applet作者、版本和版權的資訊
請求applet識別的引數的描述
初始化applet
銷燬applet
開始執行applet
結束執行applet
Applet類提供了對這些方法的預設實現,這些方法可以在需要的時候重寫。
"Hello,World"applet都是按標準編寫的。唯一被重寫的方法是paint方法。
Applet的呼叫
applet是一種Java程式。它一般執行在支援Java的Web瀏覽器內。因為它有完整的Java API支援,所以applet是一個全功能的Java應用程式。(編輯:雷林鵬 來源:網路)