資源描述:
《MIDP圖形用戶界面》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第7章MIDP圖形用戶界面—低級API本章學(xué)習(xí)導(dǎo)航本章學(xué)習(xí)要點(diǎn)(1)Canvas類概述;(2)處理Canvas類鍵盤事件;(3)處理Canvas類屏幕事件;(4)Graphics類概述;(5)Graphics類的繪圖操作;(6)Graphics類的顏色操作;(7)Graphics類的文字操作;(8)Graphics類的圖像操作。7.1Canvas類的使用使用javax.microedition.lcdui包中的低級API,可以實(shí)現(xiàn)一些相對比較復(fù)雜的圖形或者訪問底層輸入事件。進(jìn)行低級API開發(fā)時(shí)主要用到兩個(gè)類:Canvas類和Gr
2、aphics類。Canvas類是一個(gè)抽象類,利用Canvas類提供的相關(guān)方法可以處理低級事件和在屏幕上繪畫。Canvas類概述7.1Canvas類的使用Canvas類常用方法7.1Canvas類的使用Canvas實(shí)例【例7-1】第一個(gè)Canvas程序(FirstCanvasDemo.java)教師演示講解7.1Canvas類的使用Canvas處理按鍵事件是通過keyPressed方法、keyReleased方法和keyRepeated三個(gè)方法實(shí)現(xiàn)的。在開發(fā)的時(shí)候一定要用Canvas.hasRepeatedEvents方法來進(jìn)行實(shí)
3、際的檢測,看是否支持keyRepeated方法。鍵盤事件7.1Canvas類的使用Canvas鍵盤事件實(shí)例【例7-2】演示Canvas的鍵盤事件(FirstCanvasDemo.java)教師演示講解7.1Canvas類的使用Canvas有兩種模式,一種是正常模式,另一種是全屏模式,兩者之間的區(qū)別在于當(dāng)我們使用全屏幕模式的時(shí)候,添加在Canvas上面的Title和Ticker和Command都無法在屏幕上顯示,而正常模式下可以。利用Canvas的setFullScreenMode方法可以設(shè)定Canvas的模式。當(dāng)我們調(diào)用setF
4、ullScreenMode方法的時(shí)候,不管是什么模式,都會調(diào)用sizeChanged這個(gè)方法,并傳入屏幕的高度和寬度作為其參數(shù)。對于某些突發(fā)事件(如:來電),手機(jī)屏幕會被系統(tǒng)畫面所覆蓋的時(shí)候,就會調(diào)用hideNotify方法;當(dāng)恢復(fù)原狀時(shí),就會調(diào)用我們原本的畫面,那么系統(tǒng)就會同時(shí)調(diào)用showNotify()這個(gè)方法。在實(shí)際操作過程當(dāng)中,應(yīng)該覆寫這兩個(gè)方法,以便在可見性變化時(shí),使程序做出相應(yīng)的反應(yīng)。Canvas會在它被顯示的時(shí)候自動調(diào)用paint()方法,所以我們不必去顯式的調(diào)用repaint()方法。屏幕事件7.1Canvas類
5、的使用Canvas屏幕事件實(shí)例【例7-3】演示Canvas的屏幕模式(FirstCanvasDemo.java)教師演示講解7.2Graphics類的使用javax.microedition.lcdui包中的Graphics類提供了簡單的2D繪圖功能。它具有24位深度顏色的繪制能力,以三原色分別占一個(gè)字節(jié)表示其顏色。Graphics的各種繪圖功能是通過該類提供的各種方法來實(shí)現(xiàn)的,Graphics類的常用方法見表7-3。Graphics類概述7.2Graphics類的使用Graphics類常用方法7.2Graphics類的使用MI
6、Dlet程序中使用最多的圖像模式是PNG(PortableNetworkGraphics,可移植的網(wǎng)絡(luò)圖像)PNG格式可以提供透明背景的圖像(方便于繪制游戲畫面等)PNG格式的圖片中包含許多定義其圖片特性的冗余信息,可以方便的對圖片進(jìn)行分割和合并。7.2Graphics類的使用Graphics繪圖時(shí)用到的坐標(biāo)系和平時(shí)數(shù)學(xué)中用到的坐標(biāo)系不一樣,Graphics類坐標(biāo)系的坐標(biāo)原點(diǎn)在屏幕的左上角,x坐標(biāo)自左向右遞增,y坐標(biāo)自上向下遞增。繪圖操作—坐標(biāo)概念7.2Graphics類的使用使用Graphics類繪制的直線有兩種類型:其中SO
7、LID表示繪制實(shí)線;DOTTED表示繪制虛線,繪制的直線類型可以通過setStrokeStyle方法進(jìn)行設(shè)置。繪圖操作—繪制直線【例7-4】演示利用Graphics類繪制直線(DrawLineDemo.java)7.2Graphics類的使用Graphics類繪圖實(shí)例【例7-5】演示利用Graphics類繪制各種圖形(DrawLineDemo.java)教師演示講解7.2Graphics類的使用顏色操作在利用Grahpics類進(jìn)行繪圖操作時(shí),我們經(jīng)常要給圖形添加各種各樣的顏色。圖形的顏色的設(shè)置可以通過setColor方法實(shí)現(xiàn)。對
8、于具體的顏色中的R(紅)、G(綠)、B(藍(lán))的組成可以分別使用getRedComponent方法、getGreenComponent方法和getBlueComponent方法來獲得。7.2Graphics類的使用顏色操作實(shí)例【例7-6】演示Graphics類的設(shè)