Java語(yǔ)言程序設(shè)計(jì)講義第九篇_第1頁(yè)
Java語(yǔ)言程序設(shè)計(jì)講義第九篇_第2頁(yè)
Java語(yǔ)言程序設(shè)計(jì)講義第九篇_第3頁(yè)
Java語(yǔ)言程序設(shè)計(jì)講義第九篇_第4頁(yè)
Java語(yǔ)言程序設(shè)計(jì)講義第九篇_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第九章 Java Applet主要內(nèi)容:Java Applet和Java Application的區(qū)別及Java Applet的應(yīng)用9.1 Java Applet和Java Application(1) Application是獨(dú)立運(yùn)行的,Applet是嵌入到Web頁(yè)面上的,必須在支持Java的瀏覽器中運(yùn)行,例如,Netscape Navigator,Microsoft IE,Sun HotJava等。(2) Application必定含有一個(gè),并且只有一個(gè)方法main()。Applet無(wú)方法main(),并從java.applet.Applet繼承。(3) Application是能進(jìn)行各種

2、操作的程序,包括讀/寫文件操作。但Applet對(duì)站點(diǎn)的磁盤文件既不能進(jìn)行讀操作,也不能進(jìn)行寫操作。9.2 Java Applet的生命周期1Java Applet從建立到執(zhí)行可分為四步:(1) 用Java語(yǔ)言編寫一個(gè)Applet源程序。(2) 把Applet源程序編譯成字節(jié)碼。(3) 將字節(jié)碼嵌入Web頁(yè)面。即寫一個(gè)含Applet的HTML文件。(4) 用支持Java的瀏覽器運(yùn)行、瀏覽。2Applet的生命周期即,Java Applet的執(zhí)行過(guò)程,它涉及的基本方法如下:(1)初始化 init() 為Applet運(yùn)行建立初始化環(huán)境,在整個(gè)Applet生命周期中,只執(zhí)行一次方法init()。(2)

3、 啟動(dòng) start() Applet被初始化后,系統(tǒng)會(huì)自動(dòng)調(diào)用方法start()。當(dāng)進(jìn)入或返回Applet所在的Web頁(yè)面時(shí),均需多次執(zhí)行方法start()。(3) 停止 stop() 當(dāng)瀏覽器離開Applet所在的Web頁(yè)面轉(zhuǎn)到其它頁(yè)面時(shí),Applet被停止。(4) 刪除 destory() 當(dāng)瀏覽器結(jié)束瀏覽時(shí),執(zhí)行方法destory(),釋放Applet占用的資源。在執(zhí)行方法destory()前,先執(zhí)行方法stop()。(5) 繪圖 paint() 將Applet自身的效果顯示在Web頁(yè)面上。例9.1 Java Application程序結(jié)構(gòu): public class HelloWorl

4、dApp <變量定義> <方法定義> public static void main(String args) System.out.println("Hello world"); Java Applet程序結(jié)構(gòu) import java.awt.* import java.applet.* public class HelloworldApplet extends Applet init() start() stop() destroy() public void paint(Graphics g) drawString("Hello Wo

5、rld! ",20,20); 嵌入HTML,文件名為Applet_Example.html。 <HTML><HEAD> <TITLE> an Applet Example </TITLE> </HEAD> <BODY> <APPLET CODE="HelloWorldApplet.class" WIDTH=200 HEIGHT=40 CODE BASE=JavaApplet> <PARAMETER name=parametername value=paraValue>

6、. </APPLET> </BODY> </HTML>9.3 Java Applet與多媒體1聲音l Java從網(wǎng)絡(luò)上獲取聲音文件并播放聲音的編程方法有兩類:ü 利用Java語(yǔ)言提供的play(URL)及play(URL,String),直接播放網(wǎng)絡(luò)上的聲音文件。ü 利用java.applet中的類及接口AudioClip,通過(guò)getAudioClip(URL)或getAudioClip(URL,String)先從網(wǎng)絡(luò)上獲取聲音文件,并生成AudioClip 類型的對(duì)象,然后對(duì)該對(duì)象進(jìn)行操作。l Applet提供方法用來(lái)獲取聲音文件的數(shù)據(jù)

7、:AudioClip getAudioClip(URL url);AudioClip getAudioClip(URL url,String name);例如: AudioClip sound=getAudioClip(getCodeBase(),"music.au");l 在類Applet中,getDocumentBase()返回包含此Applet主頁(yè)的URL地址。getCodeBase()返回包含此Applet本身的URL地址。l 當(dāng)Applet獲取聲音文件的數(shù)據(jù)后,可通過(guò)AudioClip所定義的方法來(lái)控制聲音的播放:void play(),播放聲音;void sto

8、p(),停止播放;void loop(),循環(huán)播放;ü 直接播放網(wǎng)絡(luò)上的聲音文件 String Soundurl = "結(jié)點(diǎn)URL" try play(new URL(Soundurl);/ 或 play(new URL(Soundurl),聲音文件名); catch(Exception e) ü 利用java.applet中的類及接口AudioClip String Soundurl = "結(jié)點(diǎn)URL" AudioClip sound; try sound = getAudioClip(new URL(Soundurl);/ sou

9、nd = getAudioClip(new URL(Soundurl) ,聲音文件名); catch(Exception e) System.out.println("Can't open the URL "); ü 以上都是將生成的URL對(duì)象“new URL(Soundurl)”直接作為play()或getAudioClip()的參數(shù)ü 也可先用“new URL(Soundurl)”獲取一個(gè)URL對(duì)象,再傳給play()或getAudioClip()。URL Soundurl =null;try Soundurl =new URL("

10、結(jié)點(diǎn)URL ");catch(Exception e) System.out.println("Can't open the URL ");play(Soundurl);例9.2import java.applet.*;import java.awt.*;import .*;public class sound1 extends Applet public void paint(Graphics g) String Soundurl= " try play(new URL(Soundurl); catch (Exception e) 例9.3im

11、port java.applet.*;import java.awt.*;import .*;public class sound2 extends Applet public void paint(Graphics g) String Soundurl = "/" try play(new URL(Soundurl),"music.au"); catch(Exception e) 例9.4import java.applet.*;import java.awt.*;import .*;public class sound3 extends Applet

12、 AudioClip sound; public void init() String Soundurl = "music.au" try sound = getAudioClip(new URL(Soundurl); catch(Exception e) public void paint(Graphics g) sound.loop(); 例9.5import java.applet.*;import java.awt.*;import .*;public class sound4 extends Applet AudioClip sound; URL auur; pu

13、blic void init() try auur=new URL(""); catch (MalformedURLException e) System.out.println("Can't open the URL "); sound = getAudioClip(auur," music.au "); public void paint(Graphics g) sound.loop();2 AWT繪圖l 類Component在包java.awt中定義,通過(guò)它可以繪制或填充各種幾何圖形,輸出文字或顯示圖象,還可設(shè)置或獲得當(dāng)

14、前字體,繪圖區(qū)域,繪圖方式等。l 類Component定義了三個(gè)支持繪圖的方法:ü void repaint();ü void update(Graphics g);ü void paint(Graphics g);l 除Component外,java.awt還提供了另一些支持繪圖的類:ü 類Dimension(封裝一個(gè)組件的寬度和高度)ü 類Font FontMetrics(設(shè)置字體和字體尺寸)ü 類Image(封裝一個(gè)圖象)ü 類Canvas(繪圖常常是畫到畫布上)ü 類Graphics(繪制基本圖形,包括直線

15、,矩行,橢圓弧,圓弧,和多邊形)。其方法原型如下:public void drawLine(int x1,int y1,int x2,int y2); public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle);public void drawPolygon(Polygon p);ü Color類(1) awt預(yù)定義的顏色,black、red、blue、gray等。(2) RBG(紅綠藍(lán))值合成的顏色,值可取為0255。SetColor(Color.c); /設(shè)置圖形顏色

16、( java.awt.Graphics )SetBackground(Color.c);/設(shè)置背景顏色 (java.awt.Component )例如:Graphics g=new Graphics;Component k=new Component;g.setColor(color.red);k.setBackground(color.blue);例9.6 類Polygon用來(lái)設(shè)置多邊形的頂點(diǎn)。import java.awt.*;import java.applet.*;public class DrawTest extends Applet public void paint (Graph

17、ics g) g.drawArc(20,20,70,40,45,270); g.drawLine(100,20,200,80); Polygon p=new Polygon(); p.addPoint(300,10); p.addPoint(275,90); p.addPoint(340,40); p.addPoint(260,40); p.addPoint(325,90); g.drawPolygon(p); g.drawRect(360,20,100,80); 3 文字l 設(shè)置字體和顏色可方法setFont(),setBackground(), setForeground()來(lái)實(shí)現(xiàn)。l 也

18、可以通過(guò)類Graphics輸出文字,相應(yīng)的方法有:ü void drawBytes(byte data,int offset,int lenth,int x,int y);ü void drawChars(byte data,int offset,int lenth,int x,int y);ü void drawString(String str,int x,int y);(1) Font l 通過(guò)類Graphics和組件的方法getFont(),setFont()獲取或設(shè)置當(dāng)前使用的字體。l 通過(guò)getToolkit(),getFontList()得到系統(tǒng)所支

19、持的各種字體。例: Font f; f=new Font(Font.Courier,Font.plain,18); Graphics g.setFont(f); g.drawString("FONT",0,0);(2)FontMetricsFontMetrics表示字體的大小,通過(guò)它可以得到字體在特定屏幕上的尺寸。4 圖象l 在包java.awt,java.awt.image及java.applet中都有對(duì)圖象的支持。l 目前Java所處理的圖象格式包括GIF和JPEG兩種。(1) 圖象裝入l Applet:ü Image getImage(URL url);&#

20、252; Image getImage(URL url,String name);l Application: ü Image img=getToolkit().getImage("si.jpg");ü Image img=Toolkit.getDefaultToolkit().getImage("si.jpg");(2)圖象顯示顯示圖象是通過(guò)類的drawImage()方法來(lái)實(shí)現(xiàn)的。ü boolean drawImage(Image img,int x,int y,ImageObserver observer)ü

21、boolean drawImage(Image img,int x,int y,Color bgcolor, ImageObserver observer)ü boolean drawImage(Image img,int x,int y,int width,int height,ImageObserver observer)ü boolean drawImage(Image img,int x,int y,int width,int height,Color bgcolor,ImageObserver observer)例9.7import java.applet.*;i

22、mport java.awt.*;public class imageTest1 extends Applet Image image; public void init() image=getImage(getDocumentBase(),"imagetest.gif"); public void paint(Graphics g) g.drawImage(image, 0, 0,this); 例9.8import java.applet.*;import .*;import java.awt.*;public class imag1 extends Applet Image image; public void init() String url = "imagetest.gif" try image = getImage(new URL(url); catch(Exception e) public void paint(Graphics g) g.drawImage(image, 0, 0,this); 例9.9import java.applet.*;import .*;import java.aw

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論