轉自博客:http://www.cnblogs.com/csdns/p/8919850.htmlhtml
Applet簡介java
Java Applet簡介
最近要使用worldwind java sdk作Applet開發,看了些Applet的資料,爲了防止忘記,記錄以下:瀏覽器
applet是經過<applet>標籤嵌入到html中來使用,所以<applet>標籤應該至少包含下面這些信息:服務器
- 從哪裏獲取applet文件
- applet的大小
applet和Java 2D程序有不少相關的地方,下面是Applet繼承層次圖
從中能夠看出,applet是Panel的一個子類,能夠做爲Container來使用。
下面是一個HTML中的一個典型的Applet標籤:
<applet code = "HelloWorld.class" width = "800" height = "600">
</applet>
applet聲明週期
Applet與Panel的不一樣之處在於Applet擁有生命週期控制。Applet類提供了四種方法,用於生命週期控制,下面是這四種方法的簡單介紹:
- init
當初始化applet時,須要調用該方法。applet能夠有默認的構造函數,但習慣上是在init方法中而不是構造函數中進行所有的初始化工做。
- start
該方法會在瀏覽器調用init方法以後執行。當用戶從其餘頁面返回到包含applet的頁面時,該方法也會執行。說明start方法能夠執行屢次,與之相比,init方法只能執行一次。start方法常常爲applet重啓一個線程,例如,恢復動畫。若是applet在用戶離開當前頁面時沒有什麼須要掛起的,就沒有必要實現該方法(或stop方法)。
- stop
該方法在用戶離開包含applet的頁面時被自動調用。
- destory
該方法只有在瀏覽器正常關閉時纔會被調用。
applet的HTML標記和屬性
下面是一個最簡單的形式使用applet的例子:
<applet code="HelloWorld.class" width="400" height="300">
</applet>
能夠看出,code屬性指明瞭類文件名,而且必須包含.class擴展名;width和height屬性肯定容納applet窗口大小。二者都是以像素爲單位。
用於編碼的applet屬性
下面的屬性用於高速瀏覽器如何定位applet代碼:
- code
這個屬性給出applet類文件的名稱。若指定codebase,則路徑是相對於codebase的;若沒有指定codebase,則路徑是相對於當前頁面的。
路徑名必須與applet的包名匹配。例如,若是applet的類在包com.demo包中,則該屬性應該是code="com.demo.HelloWorld.class"或"com/demo/HelloWorld.class"
- codebase
這個可選屬性指出用於定位類文件的url。這個url能夠是決定路徑,也能夠是相對路徑,相對路徑的一個示例以下:
AProject/
|----Page.html
|----Applets/
|----HelloWorld.class
能夠在Page.html中這樣寫<applet>標籤:
<applet code="HelloWorld.class" codebase="Applets" width="800" height="600"></applet>
- archive
這個可選屬性列出Java存檔文件、包含類文件及applet須要的其餘資源文件。這些文件是applet在加載前從服務器得到的。這種技術明顯加快了加載過程的速度,這是由於只須要一個HTTP請求來加載包含多個小文件的JAR文件。JAR文件之間使用逗號分隔。例如:
<applet code="HelloWorld.class" archive="Helllo.jar, demo/test.jar" width="800" height="600"></applet>