java教程-6-小應(yīng)用程序_第1頁(yè)
java教程-6-小應(yīng)用程序_第2頁(yè)
java教程-6-小應(yīng)用程序_第3頁(yè)
java教程-6-小應(yīng)用程序_第4頁(yè)
java教程-6-小應(yīng)用程序_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第六章Applet小應(yīng)用程序6.1applet基礎(chǔ)在瀏覽器內(nèi)運(yùn)行的java程序applet仍然要比HTML、XML以及腳本技術(shù)的任意組合強(qiáng)大的多跨平臺(tái)很安全

當(dāng)applet剛被開(kāi)發(fā)出來(lái)時(shí),只有sun的HotJava能查看包含applet的網(wǎng)頁(yè)Netscape、IE的加入,使得applet真正流行起來(lái)僅支持Java1.1的大部分功能解決方法:Java插件Java2SDK自動(dòng)下載插件一.什么是Japplet(Applet)一個(gè)Javaapplet程序中必須有一個(gè)類(lèi)是JApplet類(lèi)的子類(lèi),稱(chēng)該子類(lèi)為Javaapplet的主類(lèi)例:publicclassDrawImageextendsJApplet主類(lèi)必須用public來(lái)修飾主類(lèi)的實(shí)例是一個(gè)容器二.Applet的運(yùn)行applet必須嵌入HTML文件中方可執(zhí)行,因此HTML頁(yè)必須告訴瀏覽器需加載哪個(gè)applet及在網(wǎng)頁(yè)中的位置<appletcode=字節(jié)碼文件名width=nheight=n></applet>例:<appletcode=DrawImage.classwidth=200height=300></applet>Applet可在瀏覽器下運(yùn)行

c:\1000\boy.html也可用JDK的開(kāi)發(fā)工具中的appletviewer工具瀏覽Applet效果

c:\1000\appletviewerboy.html如果一個(gè)HTML文件中包含多個(gè)applet,那么運(yùn)行時(shí),將會(huì)彈出多個(gè)窗口三.JApplet類(lèi)JApplet(Applet)類(lèi)是所有applet的基類(lèi),所有的小應(yīng)用程序都是該類(lèi)的子類(lèi)importjava.applet.*;publicclassTestappletextendsJApplet{….}

Applet類(lèi)中常用方法:判斷applet是否處于激活狀態(tài)publicbooleanisactive()文件定位方法publicURLgetCodeBase()publicImagegetImage(URLurl)publicImagegetImage(URLurl,Stringname)publicAudioClipgetAudioClip(URLurl)publicAudioClipgetAudioClip(URLurl,Stringname)

播放聲音、顯示圖象、輸出字符串方法publicvoidplay(URLurl)publicvoidloop(URLurl)publicvoiddrawImage(img,x,y)publicvoiddrawString(str,x,y)applet構(gòu)成方法publicvoidinit()publicvoidstart()publicvoidstop()publicvoiddestroy()publicvoidpaintComponent()publicvoidrepaint()

6.2一個(gè)applet的生存周期JApplet中常用的幾種常用方法publicclassclassnameextendsJApplet{publicvoidinit(){………….}publicvoidstart(){……….}publicvoidstop(){…………}publicvoiddestroy(){………….}publicvoidpaintComponent(Graphicsg){…………}…………….}init()

當(dāng)一個(gè)applet被系統(tǒng)執(zhí)行時(shí),系統(tǒng)將首先自動(dòng)執(zhí)行init()方法通常用init()方法作一些初始化工作。如:創(chuàng)建對(duì)象、設(shè)置初始狀態(tài)、加載圖象等publicvoidinit(){……}Init()方法只能被執(zhí)行一次

start()系統(tǒng)在執(zhí)行完init()后,將自動(dòng)執(zhí)行start()publicvoidstart(){…..}每當(dāng)離開(kāi)Applet主頁(yè)后再返回時(shí),系統(tǒng)會(huì)再一次執(zhí)行start()方法Start()可被執(zhí)行多次stop()方法當(dāng)用戶(hù)離開(kāi)Applet所在的頁(yè)面轉(zhuǎn)到其它頁(yè)面時(shí),stop()方法被調(diào)用publicvoidstop(){……}當(dāng)瀏覽器又回到Applet所在頁(yè)時(shí),start()方法又會(huì)被調(diào)用stop()也可被執(zhí)行多次destroy()系統(tǒng)在瀏覽器關(guān)閉時(shí)才調(diào)用destroy()調(diào)用destroy()方法時(shí),它將負(fù)責(zé)收回占用的系統(tǒng)資源paintCompoment()可用paintCompoment(Graphicsg)方法在屏幕上輸出信息,如文字、色彩、圖像等當(dāng)調(diào)用paintCompoment()方法時(shí),瀏覽器產(chǎn)生一個(gè)Graphics類(lèi)的實(shí)例,并傳給方法paintCompoment()中的參數(shù)g利用g可調(diào)用Graphics類(lèi)中的方法例:g.drawString(“x=“+x,10,10)當(dāng)applet對(duì)頁(yè)面有重繪的需求時(shí),如:被其它頁(yè)面遮擋之后重新放在最前面、改變?yōu)g覽器的大小、以及applet要顯示信息paintCompoment()方法都會(huì)被自動(dòng)調(diào)用PaintCompoment()方法在applet的生命周期內(nèi)可以被多次調(diào)用例:下面的例子統(tǒng)計(jì)各方法被執(zhí)行次數(shù)MethodCount.javapublicvoidinit(){initcount=initcount+1;}publicvoidstart(){startcount=startcount+1;}publicvoidstop(){stopcount++;}publicvoiddestroy(){destroycount++;}publicvoidpaint(Graphicsg){paintcount++;g.drawString("initcount="+initcount,10,20);g.drawString("startcount="+startcount,10,40);g.drawString("stopcount="+stopcount,10,60);g.drawString("destroycount="+destroycount,10,80);g.drawString("paintcount="+paintcount,10,100);}repaint()永遠(yuǎn)不要企圖調(diào)用paintCompoment(),一般可通過(guò)調(diào)用repaint()方法時(shí),實(shí)現(xiàn)對(duì)paintCompoment()的調(diào)用.首先清除paintComponent()方法以前所畫(huà)內(nèi)容再調(diào)用paintCompoment()方法重畫(huà)repaint執(zhí)行如下:6.3Applet的標(biāo)記的屬性---chart.java一.定位屬性1.width\height2.align—這個(gè)屬性指定applet的對(duì)齊方式RIGHTLEFTTOPBOTTOMMIDDLEABSMIDDLEBASELINEABSBOTTOMTEXTTOPVSPACE\HSPACE二.代碼屬性用于告訴瀏覽器如何定位applet代碼1.code如果applet類(lèi)位于與HTML在同一文件夾中,則:Code=“Myapplet.class”如果applet類(lèi)位于com.mycompany中,而com/mycompany與HTML在同一文件夾中,則:Code=“com/mycompany/Myapplet.class”appletTest.class位于Myapplet子目錄下,而Myapplet子目錄與HTML文件在同一目錄下<appletcode=“appletTest.class”CODEBASE=“Myapplet”width=200height=300></applet>2.codebase此屬性用于applet與HTML不在同一目錄下的情形,如何搜索class文件三.接收信息至applet中Applet可以通過(guò)使用HTML中的PARAM標(biāo)記獲得內(nèi)嵌在HTML中的參數(shù).例:在HTML中定義如下:<appletcode=DrawImage.classheight=300width=230><paramname=“font”value=“serif”></applet>

在applet中可使用JApplet類(lèi)中的

getParameter()來(lái)提取參數(shù)值PublicclassFontParameterApplet

extendsJApplet{publicvoidinit(){StringfontName=getParameter(“font”);…….}API:publicStringgetParameter(Stringname)例:chart.java<PARAMNAME="title"VALUE="DiametersofthePlanets"><PARAMNAME="values"VALUE="9"><PARAMNAME="name_1"VALUE="Mercury"><PARAMNAME="name_2"VALUE="Venus"><PARAMNAME="name_3"VALUE="Earth"><PARAMNAME="name_4"VALUE="Mars">………..<PARAMNAME="value_1"VALUE="31000"><PARAMNAME="value_2"VALUE="70500"><PARAMNAME="value_3"VALUE="8000"><PARAMNAME="value_4"VALUE="4200">……….

for(i=0;i<n;i++){values[i]=Double.parseDouble(getParameter("value_"+(i+1)));names[i]=getParameter("name_"+(i+1));}

Stringv=getParameter("values");if(v==null)return;intn=Integer.parseInt(v);double[]values=newdouble[n];String[]names=newString[n];6.4多媒體6.4.1顯示圖象一.Java支持的主要圖像類(lèi)型:

GIFJPEGBMP定義Image對(duì)象

Imagepicture;從文件加載圖像--getImage()方法

publicImagegetImage(URLurl,Stringname)二.加載圖象例:picture=getImage(

getCodeBase(),”family.jpg”);三.顯示圖像--DrawImage.javaGraphics類(lèi)提供drawImage()方法,可用來(lái)繪制圖像publicboolean

drawImage(Imageimg,

int

x,inty,

ImageObserverobserver)

該方法應(yīng)在paintComponent()方法中通過(guò)參數(shù)g調(diào)用例:g.drawImage(picture,10,30,this);例:一個(gè)加載圖像的例子DrawImage.java

可調(diào)整寬度和調(diào)度的drawImage()方法publicboolean

drawImage(Imageimg,

int

x,inty,

intwidth,

intheight,

ImageObserverobserver)采用這些方法顯示圖象時(shí),會(huì)自動(dòng)對(duì)圖象按指定的高度和寬度進(jìn)行拉伸

Image類(lèi)提供了兩個(gè)方法,常用來(lái)和上述方法聯(lián)合使用:getHetght()用來(lái)獲得圖象的實(shí)際高度getWidth()用來(lái)獲得圖象的實(shí)際寬度例:img.getHeight(this)img.getWidth(this)

6.4.2播放聲音一.播放聲音目前Java僅支持AU、WAVE、MIDI、AIFF格式AudioClip類(lèi)用來(lái)在JavaApplet中播放聲音。該類(lèi)在java.Applet.audioClip中有定義加載聲音文件對(duì)象名=getAudioClip(URLurl,文件名)創(chuàng)建對(duì)象:AudioClip

對(duì)象名;二.加載聲音文件例:AudioClipaudio;audio=getAudioClip(getCodebase(“spacemusic.au”);三.播放聲音

AudioClip類(lèi)提供播放方法:

play()--播放一遍

loop()--循環(huán)播放

例:audio.play();

audio.loop();例:一個(gè)播放聲音的小例子PicSound.java6.4.3JMF(JavaMediaFramwork)Java媒體框架作用:1、音頻播放2、視頻播放:avi,gsm,mpg,mov,r

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論