資源描述:
《Java小應(yīng)用程序(Applet)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第12章Java小應(yīng)用程序(Applet)的設(shè)計(jì)12.1編寫一個(gè)Applet12.2Applet的通信12.1編寫一個(gè)Applet要編寫一個(gè)Applet,必須首先從java.applet.Applet派生一個(gè)類:importjava.applet.*;publicclassSimpleAppletextendsApplet{…}需要注意的是,派生出的Applet的類必須定義為public類型。java.applet.Applet類實(shí)際上是java.awt.Panel的子類。Applet和AWT類的繼承關(guān)系如圖12
2、.1所示。圖12.1這種層次關(guān)系顯示,一個(gè)Applet可直接用作一個(gè)AWT布局的容器。因?yàn)锳pplet是Panel的子類,所以它有一個(gè)缺省的流(Flow)布局管理器。Component,Container和Panel類的方法被Applet類繼承了下來。12.1.1Applet的執(zhí)行框架在Java出現(xiàn)之前,人們就已經(jīng)開始使用HTML(超文本標(biāo)記語言)進(jìn)行Web頁面的設(shè)計(jì)了。然而,對(duì)HTML稍有了解的人都知道,HTML所提供的設(shè)計(jì)能力是極其有限的。Java率先提供了讓W(xué)eb頁面實(shí)現(xiàn)更豐富的GUI和邏輯運(yùn)算能力的方法,
3、這種方法是通過將一個(gè)Java的類插入到Web頁面中來實(shí)現(xiàn)的。如何編寫一個(gè)Applet并令它在瀏覽器中執(zhí)行呢?方法很簡單,只要繼承java.applet包下的Applet類,并實(shí)現(xiàn)一些必要的方法即可。下面我們來看一個(gè)最簡單的Applet的例子,并學(xué)會(huì)怎樣在瀏覽器中令它運(yùn)行。例12.1SimpleApplet.javaimportjava.applet.*;importjava.awt.*;publicclassSimpleAppletextendsApplet{Stringtext=null;publicvoidi
4、nit(){text="Asimpleappletdemo!";setBackground(Color.YELLOW);}publicvoidstart(){System.out.println("starting...");}publicvoidstop(){System.out.println("stopping...");}publicvoiddestroy(){System.out.println("preparingtounload...");}publicvoidpaint(Graphicsg){Sy
5、stem.out.println("Paint");g.drawString(text,15,25);}}上面是一個(gè)最簡單的Applet例子,大家可能已經(jīng)發(fā)現(xiàn),這個(gè)程序沒有main()方法,的確,我們前面所學(xué)到的Java應(yīng)用程序都必須由main()方法處進(jìn)入,而在一個(gè)Applet中卻不是這樣。Applet的生命周期稍微有些復(fù)雜,它需要通過瀏覽器來運(yùn)行,所以為了執(zhí)行它,還必須有一個(gè)HTML編寫的Web頁面。例12.2SimpleApplet.html
6、plet"codebase=.code=SimpleApplet.classwidth=200height=100>這里將不準(zhǔn)備詳細(xì)討論有關(guān)HTML的問題,如果不太了解,可以自己查閱相關(guān)資料。我們只稍微解釋一下上面的HTML代碼。它通過標(biāo)記
7、plet的寬度和高度。name和codebase這兩個(gè)參數(shù)并不是必須的,如果Applet字節(jié)碼文件和html文件在同一路徑下,則可以不加codebase參數(shù)。width和height這兩個(gè)參數(shù)一定要加,所以在Applet程序中可以不需要設(shè)置Applet的Panel的大小。把這個(gè)HTML文件和編譯好的Applet保存在同一個(gè)目錄下(HTML文件并不一定要和Applet同名),然后用瀏覽器打開這個(gè)HTML文件,將看到這個(gè)最簡單的小應(yīng)用程序的運(yùn)行結(jié)果。除了通過瀏覽器來運(yùn)行Applet,Java平臺(tái)本身也提供了一個(gè)調(diào)試A
8、pplet的方法。在JDK包中帶有一個(gè)小應(yīng)用程序觀察器AppletViewer.exe,只要在Windows命令行窗口中輸入:appletviewerSimpleApplet.html就會(huì)看到和在瀏覽器中運(yùn)行基本相同的輸出結(jié)果。圖12.2和圖12.3分別列出了通過兩種方式運(yùn)行例子SimpleApplet的輸出結(jié)果?,F(xiàn)在我們來看看這個(gè)Applet到底是如何運(yùn)作的。大家可能已