中職模塊12Java Applet程序電子課件 Java程序設(shè)計案例教程中職 中職 高教版(共26張PPT)_第1頁
中職模塊12Java Applet程序電子課件 Java程序設(shè)計案例教程中職 中職 高教版(共26張PPT)_第2頁
中職模塊12Java Applet程序電子課件 Java程序設(shè)計案例教程中職 中職 高教版(共26張PPT)_第3頁
中職模塊12Java Applet程序電子課件 Java程序設(shè)計案例教程中職 中職 高教版(共26張PPT)_第4頁
中職模塊12Java Applet程序電子課件 Java程序設(shè)計案例教程中職 中職 高教版(共26張PPT)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

JavaApplet程序

學(xué)習(xí)目標(biāo)了解JavaApplet程序。了解JavaApplet程序的工作原理。了解JavaApplet程序圖形繪制的方法。了解JavaApplet程序圖像的處理。案例引入——編寫HelloApplet的網(wǎng)頁案例說明

Java小應(yīng)用程序(JavaApplet)是使用Java語言編寫的一段代碼,它嵌入到HTML文檔中,通過網(wǎng)絡(luò)傳輸并運(yùn)行在瀏覽器環(huán)境下。它的執(zhí)行方式與一般應(yīng)用程序不同,生命周期也較為復(fù)雜。在詳細(xì)介紹JavaApplet程序之前,我們先來編寫一個JavaApplet程序,即“HelloApplet”。案例分析

根據(jù)案例要求,首先要完成Applet程序編碼,設(shè)置文本信息及顯示的位置,然后按照Applet程序運(yùn)行方式,最終運(yùn)行網(wǎng)頁文件得出結(jié)果。12.2知識準(zhǔn)備12.2.1Applet程序概述Applet程序繼承自java.applet.Applet類,Applet類是Java語言類庫中的一個重要系統(tǒng)類,放在java.applet包中。從類繼承結(jié)構(gòu)來說,Applet類應(yīng)屬于用戶圖形界面的java.awt包,但由于Applet類特殊,系統(tǒng)專門為它建立了一個包。Applet類又是Java語言中另一個系統(tǒng)類java.awt.Panel的子類,它們之間的關(guān)系如圖所示。12.2.1Applet程序概述Applet的特點

(1)Applet的主類必須是類庫中已定義的Applet類的子類。與Application不同的是它不需要有main()方法。(2)Applet不是完整獨(dú)立的程序,而是一個已經(jīng)構(gòu)建好的框架程序中的一個模塊。Applet不能直接運(yùn)行,必須將它的字節(jié)碼文件嵌套在一個HTML文件中,通過激活瀏覽器中的Java解釋器或調(diào)用模擬瀏覽器,如AppletViewer,才可運(yùn)行。而Application是可以直接運(yùn)行的完整獨(dú)立的程序。(3)Applet可以直接利用瀏覽器或AppletViewer所提供的圖形用戶界面來顯示運(yùn)行結(jié)果。而Application運(yùn)行后直接用字符界面來顯示運(yùn)行結(jié)果。如果要用圖形界面顯示Application程序的運(yùn)行結(jié)果,則需要用戶自己為Application程序創(chuàng)建一個圖形界面。因此,Applet更適合于圖形界面下的面向?qū)ο蟮木幊棠J健?2.2.1Applet程序概述Applet.java

WWW服務(wù)器中的HTML擴(kuò)展名為

字節(jié)碼文件擴(kuò)展名為.class

瀏覽器

結(jié)果

編譯嵌入下載運(yùn)行Applet的工作原理示意圖12.2.2Applet程序的創(chuàng)建Applet程序是從構(gòu)造方法開始執(zhí)行的。Applet的生命周期比較復(fù)雜,如圖所示。與此相關(guān)的方法主要有4個,它們分別是init()、start()、stop()和destroy()。這些方法對應(yīng)了Applet生命周期的各個階段,因此,有人稱這4種方法構(gòu)成了Applet程序的生命周期。12.2.2Applet程序的創(chuàng)建

init()方法

用來完成初始化操作。當(dāng)Applet的字節(jié)碼文件被下載后,瀏覽器將創(chuàng)建一個Applet類的對象,調(diào)用從Applet類中繼承的init()方法。用戶可重載Applet類中init()方法,定義一些必要的初始化操作。例如,創(chuàng)建對象、加載圖形或文字、設(shè)置參數(shù)等。

該方法通常在Applet第一次被加載時調(diào)用,并在Applet運(yùn)行期間只執(zhí)行一次。12.2.2Applet程序的創(chuàng)建

start()方法

該方法用于啟動瀏覽器并運(yùn)行Applet主線程。瀏覽器在調(diào)用init()方法完成初始化操作后,將自動調(diào)用該方法啟動主線程運(yùn)行。用戶程序中可以重載Applet類中的start()方法,并在該方法中增加一些與被激活的對象相關(guān)的一些操作。該方法至少在初始化后被調(diào)用一次,通常在Applet被重新啟動時,系統(tǒng)也會自動調(diào)用該方法。在下面兩種情況下Applet被重啟:(1)用戶使用了瀏覽器的Reload操作。(2)將瀏覽器轉(zhuǎn)向其他HTML頁面后又返回。凡是Applet的HTML頁面被重新加載時,Applet類的對象會被重啟,并調(diào)用start()方法。12.2.2Applet程序的創(chuàng)建

stop()方法

該方法是在暫停執(zhí)行Applet前執(zhí)行的一種方法。當(dāng)瀏覽器要切換到其他系統(tǒng)的應(yīng)用時,需要暫停執(zhí)行Applet的主線程,則在暫停之前,系統(tǒng)將自動調(diào)用stop()方法,結(jié)束對一般資源的操作。如果Applet程序中包含有動畫等操作時,需要重載該方法,完成一些必要的操作。stop()方法被重載的格式與init()方法相同。stop()方法的操作是start()方法的操作的逆操作。后者用來啟動Applet程序,而前者用來結(jié)束Applet程序。實際應(yīng)用中,stop()方法和start()方法一樣,可被調(diào)用多次。12.2.2Applet程序的創(chuàng)建

destroy()方法

該方法是用來終止Applet的執(zhí)行,執(zhí)行該方法將會釋放Applet占有的一切資源,關(guān)閉連接之類的操作。關(guān)于Applet類的對象本身,最后將由瀏覽器刪除。通常該方法不用用戶重載。12.2.3HTMLApplet標(biāo)記與Applet程序的運(yùn)行HTMLApplet標(biāo)記

Applet程序通過<applet>標(biāo)記其嵌入到HTML文件。<applet>標(biāo)記的語法如下:<applet code=appletFile.class width=pixelsheight=pixels [align=alignment] [vspace=pixels][hspace=pixels] …> …</applet>12.2.3HTMLApplet標(biāo)記與Applet程序的運(yùn)行Applet參數(shù)的讀取對于Application可通過命令行向該程序傳遞參數(shù),而Applet程序可通過HTML文件來獲得外部參數(shù)。具體是在<applet>標(biāo)記中使用<param>標(biāo)記來實現(xiàn)。<param>標(biāo)記的格式如下:<paramname=<參數(shù)名字>value=<參數(shù)值>>12.2.3HTMLApplet標(biāo)記與Applet程序的運(yùn)行Applet程序的運(yùn)行

目前大多數(shù)瀏覽器,如IE瀏覽器、NetscapeNavigator瀏覽器等都可以直接訪問內(nèi)嵌有Applet程序的網(wǎng)頁。

除了使用瀏覽器外,Java還提供了應(yīng)用程序AppletViewer,專用于執(zhí)行嵌有Applet程序的網(wǎng)頁。用AppletViewer運(yùn)行嵌有Applet程序網(wǎng)頁時,需要一個HTML文件名作為命令行參數(shù),例如:AppletViewerHelloApplet.html

但是,如果使用AppletViewer程序運(yùn)行網(wǎng)頁時,只能識別網(wǎng)頁文件中的<applet>標(biāo)記,其他標(biāo)記均會被忽略,因此不能用AppletViewer觀看HTML頁面的內(nèi)容。12.2.4Applet與圖形繪制有關(guān)的方法paint(Graphicsg)方法

Applet本身是一個容器,因此任何輸出都必須用到圖形方法paint()。當(dāng)Applet首次被裝載,以及每次窗口放大、縮小、刷新時,都要調(diào)用paint()方法。paint()是由AWT線程調(diào)用的,而不是由程序調(diào)用,當(dāng)程序希望調(diào)用paint方法時,可用repaint()方法。paint()方法的參數(shù)是Graphics類的對象g,該對象不是由new產(chǎn)生的,而是由系統(tǒng)或其他方式直接將生成的Graphics對象當(dāng)作方法的參數(shù),再交給paint()方法。在paint()方法中的這個Graphics類參數(shù)是畫圖的關(guān)鍵。它支持兩種繪制:一是基本的繪圖,包括畫點、線、矩形、文字等;二是畫圖像。在進(jìn)行基本畫圖時,可以設(shè)定所需的顏色和字體等,這需要用到Font、FontMetrics和Color三個類。

另外,paint()方法必須被重寫才能繪制自己所需的內(nèi)容。12.2.4Applet與圖形繪制有關(guān)的方法update()方法repaint()方法update()方法用于更新圖形。它首先清除背景,然后設(shè)置前景,再調(diào)用paint()方法完成Applet中的具體繪圖。一般不要重寫update()方法。repaint()方法主要用于重繪圖形,它是通過調(diào)用update()方法來實現(xiàn)圖形重繪的。當(dāng)組件外形發(fā)生變化時,系統(tǒng)自動調(diào)用repaint()方法。AWT線程要處理組件的繪圖工作,并負(fù)責(zé)其輸人事件,因此必須盡量縮短paint()方法和update()方法的長度,特別是在paint()方法中,不要執(zhí)行太消耗時間的操作。12.2.5Applet的圖形繪制1.設(shè)置字體和顏色及繪制文本

設(shè)置字體

Java語言提供Font類,用來設(shè)置文本的字體(包括字型和字號等)。Font類提供了一個構(gòu)造方法,用它來創(chuàng)建字體對象。構(gòu)造方法格式如下:Font(Stringname,intstyle,intsize)1.設(shè)置字體和顏色及繪制文本

繪制文本

Graphics類常用的繪制文本的方法如下:publicvoiddrawstring(Stringstring,intx,inty)該方法用來把指定的字符串string顯示到指定的位置(x,y),這里(x,y)給出字符串的左下角起點。

設(shè)置顏色

Java語言通過Color類來控制顏色。Color類提供的兩個構(gòu)造方法如下:Color(intr,intg,intb)Color(floatr1,floatg1,floatb1)設(shè)置當(dāng)前顏色的方法如下:publicvoidsetColor(Colorc)

2.繪制幾何圖形voiddrawLine(intx1,inty1,intx2,inty2)該方法可在點(x1,y1)和點(x2,y2)之間畫一條直線。畫直線畫矩形(1)用指定寬度和高度畫矩形。voiddrawRect(intx,inty,intwidth,intheight)(2)用指定寬度和高度畫實心矩形。voidfillRect(intx,inty,intwidth,intheight)(3)用背景顏色繪制一個指定寬度和高度的矩形。voidclearRect(intx,inty,intwidth,intheight)(4)用指定寬度和高度繪制一個圓角矩形。voiddrawRoundRect(intx,inty,intwidth,intheight,intarcWidth,intarcHeight)(5)繪制三維矩形。voiddraw3DRect(intx,inty,intwidth,intheight,booleanbool)(6)填充三維矩形。voidfill3DRect(intx,inty,intwidth,intheight,booleanbool)

2.繪制幾何圖形voiddrawArc(intx,inty,intwidth,intheight,intstartAngle,intarcAngle)voidfillArc(intx,inty,intwidth,intheight,intstartAngle,intarcAngle)voiddrawOval(intx,inty,intwidth,intheight)畫圓弧畫填充橢圓畫橢圓3213)畫圓弧和橢圓voidfillOval(intx,inty,intwidth,intheight)

畫填充橢圓42.繪制幾何圖形Graphics類提供的繪制多邊形和填充多邊形的方法如下:publicvoiddrawPolygon(intxPoints[],intyPoints[],intPoints)publicvoidfillPolygon(intxPoints[],intyPoints[],intPoints)publicvoiddrawPolygon(Polygonp)publicvoidfillPolygon(Polygonp)畫多邊形12.2.6Applet的圖像獲取圖像信息顯示圖像的操作123定義圖像對象在java.applet包中,Applet類提供一種用來返回圖像信息的方法,格式如下:ImagegetImage(URLur1,Stringname)在java.awt包中有一個圖像類Image,使用它可以定義圖像對象。例如:Imagepic1,pic2;Image類提供了返回某一指定圖像高度和寬度的方法。intgetHeight(ImageObserverobserver)int

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論