3. Applet
3.1 Hello World Applet
接下來使用Applet實現Hello World,借此先了解最簡單的Applet程序及使用方法。
1: import Java.awt.Graphics;
3: public class HelloWorldApplet extends java.applet.Applet {
4:
5: public void paint(Graphics g) {
6: g.drawString("Hello world!", 5, 25);
7: }
8:}
Applet說明:
(1) 首先Applet一般是從java.applet.Applet中繼續過來的;
(2) paint()方法必須是public,不然不能被其它程序正確調用;
(3) 由於paint方法使用了Graphics類,所以Applet需要引用java.awt.
(4) Graphics,當然假如其它的類假如也可以實現Graphics類的功能,也可以引用之;
(5) 在Applet中沒有public static void main這個方法,所以它不能獨立執行,必須由專門的程序(如游覽器)調用執行,Applet程序被調用後,會自動執行paint方法。
這樣一個Applet就完成了,以HelloWorldApplet.java文件名保存,使用正常的編譯命令編譯之,即javac HelloWorldApplet.java,編譯完後會生成.class文件,接下來就是在網頁中引入之個Applet小程序,這裡我們在Html中引入該Applet小程序:
<HTML>
<body>
<APPLET code="HelloWorldApplet.class" width=150 height=25></APPLET>
</body>
</HTML>
(6) 這是一個簡單的Applet引用方法,在HTML中使用標簽APPLET來引用Applet,code屬性指定Applet的程序名,在這個例子中引入的Applet與HTML文件在同一個目錄下,所以沒加路徑說明,假如不是可以使用codebase指定applet所在的路徑,路徑表示方法與HTML中的一樣;
(7) 其它屬性width及時性height是HTML的標准屬性
(8) 但是該HTML在游覽器中執行時,並不一定能執行Applet小程序。具體原因我還沒找到,我使用的操作系統是XP,浏覽器是IE6.0,並且已安裝了java虛擬機,已經測試過可以正常游覽有applet的網站。假如有人知道請不訪告訴我(email:
[email protected]),大家共同進步。
還有另一個方法可以測試Applet,就是使用appletViewer命令,假如上述的HTML文件名為hello.htm,那麼可以使用:
appletViewer hello.htm
查看HTML文件中引入的applet小程序,該命令會忽略HTML代碼,直接執行applet代碼。
3.2 Applet參數使用方法
在Applet中可以使用<param>標簽向Applet傳遞參數,如:
<applet ….>
<param NAME=font VALUE="TimesRoman">
……
</applet>
當applet執行時,這些參數就會被傳入,可以在init方法中使用getParameter()方法獲取這些傳入參數的值,如getParameter("font"),該方法返回值始終是String類型的,所以必要的時候還需進行相應的類型轉換。假如沒有相應的傳入參數,那麼getParameter()方法會返回null值。
3.3 Applet基本方法
從java.applet.Applet繼續過來的applet會有五個基本的方法:
(1) init()方法:當applet被加載時,會首先執行init方法,該方法相當於java application中的main,該方法只能被執行一次;
(2) start()方法:init方法執行完畢會就會自動執行start方法,start方法可以被反復執行,如一個applet被stop後,可以使用start方法重新開動它;
(3) stop()方法:停止執行applet,與start方法相對應
(4) destroy()方法:與init方法相對應;