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