版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Applet小程序2教學(xué)目的要求了解Applet小程序與其他程序的差別;掌握Applet程序中各種方法的使用;熟練編制出基于Web的Applet程序;通過(guò)技能訓(xùn)練,掌握Applet程序的調(diào)試方法及應(yīng)用技巧。
3本章內(nèi)容1Applet概述2Applet與HTML3Applet應(yīng)用41Applet概述1.1Applet小程序簡(jiǎn)介
Java小應(yīng)用程序(JavaApplet)是使用Java語(yǔ)言編寫(xiě)的一段代碼,它能夠在瀏覽器環(huán)境中運(yùn)行。
Applet與Application地主要區(qū)別在于它們的執(zhí)行方式不同:Application是使用命令行命令直接運(yùn)行,從其main()方法開(kāi)始運(yùn)行的;而Applet則是在瀏覽器中運(yùn)行的,首先必須創(chuàng)建一個(gè)HTML文件,通過(guò)編寫(xiě)HTML語(yǔ)言代碼告訴瀏覽器載入何種Applet以及如何運(yùn)行,再在瀏覽器中給出該HTML文件的URL地址即可,Applet本身的執(zhí)行過(guò)程也較Application復(fù)雜。51Applet概述
回憶一下小應(yīng)用程序的書(shū)寫(xiě)格式
importjava.applet.*;publicclassMyAppletextendsApplet{…;}
每一個(gè)小應(yīng)用程序都繼承自java.applet.Applet類,并且每個(gè)小應(yīng)用都有一個(gè)主程序類,之前必須加上public。6Applet概述appletBrowserSERVER本地程序fileSERVERlocalconnectionconnectionapplet被下載的與applet無(wú)關(guān)的本地方法小應(yīng)用程序的限制71Applet概述一個(gè)Applet小程序的簡(jiǎn)單例子:importjava.applet.*;importjava.awt.*;publicclassHelloAppletextendsApplet{publicStrings;publicvoidinit(){s=newString(“我的第一個(gè)Applet程序!”);}publicvoidpaint(Graphicsg){g.drawString(s,25,25);}}<HTML><HEAD><TITLE>我的第一個(gè)applet</TITLE></HEAD><appletcode="HelloApplet.class"width=300height=300></applet></HTML>HelloApplet.java8HTML代碼的基本結(jié)構(gòu)在WWW中,每一顯示單位稱為一個(gè)網(wǎng)頁(yè),該網(wǎng)頁(yè)是由HTML語(yǔ)言(HyperTextMarkupLanguage,超文本標(biāo)記語(yǔ)言)編寫(xiě)而成的,HTML是一種分層語(yǔ)言,各種標(biāo)記均成對(duì)出現(xiàn),用“<>”括起來(lái),開(kāi)始和結(jié)束標(biāo)記的區(qū)別在于結(jié)束標(biāo)記以“/”開(kāi)頭,標(biāo)記字母忽略大小寫(xiě)。每個(gè)頁(yè)面都必須包含相同的整體結(jié)構(gòu),它的結(jié)構(gòu)如下:<HTML><HEAD>……<TITLE>……</TITLE></HEAD><BODY>……<HR></BODY></HTML>其中:(1)HTML標(biāo)記是最外層的標(biāo)記,表示整個(gè)文檔的開(kāi)始和結(jié)束。(2)HEAD標(biāo)記是第2層,用于把與文檔有關(guān)的信息與文檔主體分開(kāi),相當(dāng)于文檔的頭部。(3)TITLE標(biāo)記包含于HEAD內(nèi),向用戶提示文檔內(nèi)包含的信息類型,并且為其頁(yè)面提供一個(gè)描述性的標(biāo)題。(4)BODY標(biāo)記表示文檔主體部分。(5)HR標(biāo)記表示輸出一橫線。9Java.applet.Appletpublicvoidinit()publicvoiddestroy()publicvoidstart()publicvoidstop()publicvoidpaint(Graphicsg)1Applet概述
——Applet的運(yùn)行控制Applet的運(yùn)行控制10Applet的生命周期初始態(tài)(瞬態(tài))運(yùn)行態(tài)停止態(tài)消亡態(tài)離開(kāi)web頁(yè)面:極小化或裝入其他頁(yè)面,調(diào)用stop()方法重新裝入或改變頁(yè)面大小或返回Web頁(yè)面,調(diào)用start()方法關(guān)閉瀏覽器,調(diào)用destroy()方法第一次裝入,構(gòu)造applet類,調(diào)用init()方法調(diào)用start()方法1Applet概述
——Applet的運(yùn)行控制11Applet中沒(méi)有main()方法。當(dāng)Applet被瀏覽器運(yùn)行時(shí),init()、start()、stop()、destroy()方法等自動(dòng)執(zhí)行:
init()方法:初始化,自動(dòng)調(diào)用,只執(zhí)行一次。本方法主要完成一些Applet初始化進(jìn)行的一些操作。
start()方法:初始化后,將啟動(dòng)Start()方法。本方法是Applet的主體,在其中可以執(zhí)行一些任務(wù)或啟動(dòng)相關(guān)的線程來(lái)執(zhí)行任務(wù),在每次applet被關(guān)注的時(shí)候被調(diào)用一次.stop()方法:離開(kāi)Applet所在頁(yè)面時(shí)調(diào)用,以停止消耗系統(tǒng)資源。
destroy()方法:瀏覽器關(guān)閉時(shí)自動(dòng)調(diào)用,以清除Applet所用的所有資源。1Applet概述
——Applet的運(yùn)行控制12publicclassSimpleAppletextendsApplet{publicvoidinit(){System.out.println(“調(diào)用了init()方法");}publicvoidstart(){System.out.println(“調(diào)用了start()方法");}publicvoidstop(){System.out.println(“調(diào)用了stop()方法");}publicvoiddestroy(){System.out.println("調(diào)用了destroy()方法");}publicvoidpaint(Graphicsg){
System.out.println("調(diào)用了paint()方法");
g.drawString(“hello,java!");}}SimpleApplet.java7.1Applet概述
——Applet的運(yùn)行控制13
除了四個(gè)Applet生命周期控制的方法外,Applet類還提供了一些其他有用的方法:
publicAppletContextgetAppletContext()
publicStringgetAppletInfo():應(yīng)該被重寫(xiě)
publicURLgetDocumentBase()
publicURLgetCodeBase()
publicStringgetParameter(String
name)
publicString[][]getParameterInfo():應(yīng)該1Applet概述
——Applet的運(yùn)行控制14HTML中applet標(biāo)記的使用<APPLET[ARCHIVE=archiveList]//預(yù)加載的類或文件的目錄
[CODEBASE=codebaseURL]//java字節(jié)碼的路徑或URLCODE=appletFile//必須
[ALT=alternateText]//不能運(yùn)行JavaApplet程序時(shí)顯示的正文內(nèi)容。
[NAME=appletInstanceName]//為Applet程序指定一個(gè)符號(hào)名
WIDTH=pixelsHEIGHT=pixels//必須
[ALIGN=alignment][VSPACE=pixels][HSPACE=pixels]>[<PARAMNAME=appletParameter1VALUE=value>][<PARAMNAME=appletParameter2VALUE=value>]...[alternateHTML]</APPLET>2Applet與HTML15ARCHIVE=archiveList
[File1,File2,…]給出了Applet類及其運(yùn)行時(shí)所需的類所在的卷文件名。CODEBASE=codebaseURL
指明Applet類文件所在URL基址,在Applet類中,方法getCodeBase()可以獲取該屬性。如果這個(gè)屬性沒(méi)有指明,那么Applet類文件必須與包含它的HTML頁(yè)面在同一個(gè)地方,方法getCodeBase()返回的值與getDocumentBase()相同。CODE=appletFile
指明需要運(yùn)行的Applet類文件(.class文件),該文件是與codebaseURL相關(guān)的。NAME=appletInstanceName
給出了Applet類運(yùn)行時(shí)的實(shí)例名,這使得同處于一個(gè)頁(yè)面的不同Applet之間能夠相互通信。方法getAppletContext()可以得到同一個(gè)方頁(yè)面中其它Applet類。
2Applet與HTML162Applet與HTML17ALT=alternateText
如果瀏覽器支持Applet但不能運(yùn)行它,就顯示alternateText中所給出的文字。否則就忽略它。WIDTH=pixelsHEIGHT=pixels
Applet在瀏覽器中所顯示的高度和寬度(以象素為單位)。ALIGN=alignment
Applet在瀏覽器中顯示時(shí)的對(duì)齊方式,其含義與效果與圖片在HTML中的一樣。其取值有:left,right,top,texttop,middle,absmiddle,baseline,bottom,absbottom。VSPACE=pixelsHSPACE=pixels
Applet在瀏覽器中顯示時(shí)上下、左右要預(yù)留的高度和寬度,其含義與效果與圖片在HTML中的一樣。2Applet與HTML18Javaapplet其它內(nèi)容其它內(nèi)容vspacehspace其它內(nèi)容vspace其它內(nèi)容hspaceheightwidth2Applet與HTML19<PARAMNAME=appletParameter1VALUE=value>
<PARAM>屬性可以使得Applet能夠從頁(yè)面中獲取所需的參數(shù)。Applet可以用其方法getParameter()獲取<PARAM>屬性指定的參數(shù)。<PARAM>屬性的作用與應(yīng)用程序中main()方法里參數(shù)Stringargs[]的作用是一樣的。一個(gè)好的小應(yīng)用程序,應(yīng)該提供用戶能夠設(shè)置外部參數(shù)的功能,以使得用戶能夠根據(jù)自己的需要來(lái)應(yīng)用它。方法getParameterInfo()可以得到有關(guān)<PARAM>屬性的說(shuō)明信息。alternateHTML如果瀏覽器不支持Applet,就解釋alternateHTML所給出的HTML代碼。否則就忽略它。2Applet與HTML20publicclassAppletParaextendsApplet{Strings1,s2;publicvoidinit(){s1=getParameter("p1");s2=getParameter("p2");}publicvoidpaint(Graphicsg){g.drawString(s1,10,10);g.drawString(s2,10,30);}}<HTML><HEAD><TITLE>AppletParameterTest</TITLE></HEAD><appletcode=“AppletPara.class"width=300height=300>
<paramname=p1value="1111111"><paramname=p2value="2222222"></applet></HTML>兩個(gè)步驟:在Applet類中:
s1=getParameter("p1");
在頁(yè)面中設(shè)置Applet參數(shù):
<paramname=p1value="1111111">AppletPara.java2Applet與HTML21JavaApplet瀏覽器是指可以運(yùn)行包含Applet的HTML文件的一切軟件系統(tǒng)。HotJava、NetscapeNavigator以及MicrosoftInternetExplorer等支持Java的網(wǎng)絡(luò)瀏覽器都是Applet瀏覽器,JavaApplet都可以在其中運(yùn)行。
AppletViewer是一個(gè)Java應(yīng)用程序,它可以使得用戶無(wú)須使用網(wǎng)絡(luò)瀏覽器而直接運(yùn)行JavaApplet。但AppletViewer僅僅是一個(gè)Applet瀏覽器,HTML文件中的其他內(nèi)容將不會(huì)被顯示出來(lái)。
AppletViewer是從java.awt.Frame中繼承而來(lái)。使用方法:AppletViewer<HTMLfileorURL>2Applet與HTML
——JavaApplet瀏覽器223Applet應(yīng)用
3.1Applet的字體和顏色在Applet程序中,可以使用Font類來(lái)控制字符的字體、字型、大小等屬性,使用Color類來(lái)設(shè)置輸出字符的顏色,F(xiàn)ont類和Color類都是AWT的子類。1.Font類的方法利用這些方法可以得到當(dāng)前系統(tǒng)使用的默認(rèn)字體的屬性。如果需要獲得更詳細(xì)的字體信息,可以用FontMetrics類提供的方法。2.Color類的方法Color類使用類構(gòu)造器預(yù)定義了一些常用的顏色,在程序中可以直接使用它們,也可以自己定義其他的顏色。
233Applet應(yīng)用3.創(chuàng)建自己的Font和Color在許多場(chǎng)合,默認(rèn)的字體或顏色特征可能不能滿足用戶要求,這時(shí),可以創(chuàng)建自己的字體或顏色特征。(1)創(chuàng)建字體的具體步驟①創(chuàng)建一個(gè)需要的Font對(duì)象publicFont(Stringname,intstyle,intsize)其中:name是字體名;style是字體的字型,它可以是Font.PLAIN,Font.BOLD,Font.ITALIC及其組合;size是字體的大小。例如:Fontft1=newFont(“TimesNewRoman”,Font.PLAIN,20);Fontft2=newFont(“宋體”,Font.BOLD+Font.ITALIC,18);②設(shè)置Font對(duì)象,通知Java系統(tǒng)使用該字體創(chuàng)建字體后,要使字體起作用,需采用publicabstractvoidsetFont(Fontft)方法。該方法是AWT中Graphics類的方法,其中ft1、ft2是創(chuàng)建的字體對(duì)象。
(2)創(chuàng)建顏色的具體步驟①創(chuàng)建一個(gè)需要的Color對(duì)象publicfinalstaticColor(intcolor1,intcolor2,intcolor3)其中:color1,color2,color3Color的顏色三色值。例如:Colorc=newColor(225,225,225);②設(shè)置Color對(duì)象,通知Java系統(tǒng)使用該顏色。創(chuàng)建顏色后,要使顏色起作用,需采用publicabstractvoidsetColor(Colorc)方法。該方法是AWT中Graphics類的方法,其中c是創(chuàng)建的顏色對(duì)象。
243.2
Applet的應(yīng)用1.AWT繪圖
2.文字3.圖像
4.動(dòng)畫(huà)
3Applet應(yīng)用25本章小結(jié)
小應(yīng)用程序是在瀏覽器中運(yùn)行的,每個(gè)小應(yīng)用程序中必須有一個(gè)主類,冠以public,并且繼承自java.applet。小應(yīng)用程序包括生命周期的四個(gè)環(huán)節(jié)和paint()方法。根據(jù)程序要求,用戶可以在主類中定義其它方法,或定義其它類。publicclassmyappletextendsApplet{init(){…}start(){…}stop(){…}destroy(){…}paint(Graphicsg){…}myMethod(){…}}classmyclass1{…};classmyclass2{…};26ap
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 燃?xì)夤艿婪浪┕ず献鲄f(xié)議
- 環(huán)保工程承包管理合同
- 商務(wù)住宅租賃協(xié)議范本
- 北京溫泉度假村租賃協(xié)議
- 體育館內(nèi)部裝修協(xié)議
- 2024空調(diào)安裝服務(wù)合同
- 圖書(shū)館場(chǎng)地平整施工合同范本
- 河堤加固錨桿施工合同
- 建筑規(guī)劃甲方與施工方合同范本
- 汽車(chē)制造車(chē)間建設(shè)施工協(xié)議
- Unit4 What can you do Part B read and write (說(shuō)課稿)-2024-2025學(xué)年人教PEP版英語(yǔ)五年級(jí)上冊(cè)
- 2024年度員工試用期勞動(dòng)合同模板(含保密條款)3篇
- DB23-T 3840-2024非煤礦山隱蔽致災(zāi)因素普查治理工作指南
- 2024年江蘇省徐州市中考化學(xué)真題卷及答案解析
- 機(jī)關(guān)事業(yè)單位財(cái)務(wù)管理制度(六篇)
- 人教版六年級(jí)上冊(cè)數(shù)學(xué)第八單元數(shù)學(xué)廣角數(shù)與形單元試題含答案
- 叉車(chē)租賃合同模板
- 河道旅游開(kāi)發(fā)合同
- 《基于杜邦分析法的公司盈利能力研究的國(guó)內(nèi)外文獻(xiàn)綜述》2700字
- 中越文勞動(dòng)合同樣本
- 中國(guó)古代城市規(guī)劃思想史
評(píng)論
0/150
提交評(píng)論