天天看點

java.applet.applet_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應用程式。(編輯:雷林鵬 來源:網絡)