資源描述:
《MIDP高級(jí)用戶界面》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、1MIDP高級(jí)用戶界面——游戲系周璇22內(nèi)容用戶界面庫的體系結(jié)構(gòu)Display類Alert類List類-列表TextBox類-文本框Form-表單事件處理3MIDP創(chuàng)建了它自己的簡(jiǎn)短的GUI?!坝脩艚缑妗笔侵冈O(shè)備內(nèi)的應(yīng)用程序與用戶之間的交互機(jī)制,包含了低級(jí)和高級(jí)的API兩類,這兩類API各有自己的事件集。高級(jí)的API主要應(yīng)用在移動(dòng)設(shè)備開發(fā)特別注重移植性的情況下。為了保證可移植性,API進(jìn)行了高級(jí)抽象,因此用戶在控件的外觀和感覺上極少地控制。我們沒法定義一個(gè)高級(jí)組件的可視化外觀(形狀,顏色或者字體)。大多數(shù)與組件的交
2、互由系統(tǒng)實(shí)現(xiàn)體所封裝,應(yīng)用程序不必在乎它們。低級(jí)用戶界面則用于需要對(duì)顯示精確控制的程序。4高級(jí)用戶界面庫的體系結(jié)構(gòu)javax.microedition.lcdui包4DisplayableScreenCanvasAlertFormListTextBoxGameCanvas5Screen類是高級(jí)圖形用戶界面組件,Canvas是低級(jí)圖形用戶界面組件,在同一時(shí)刻,只能有唯一一個(gè)Screen或Canvas類的子類顯示在屏幕上。MIDP中規(guī)定每個(gè)MIDlet程序只能擁有一個(gè)Display對(duì)象。我們可以調(diào)用Display的se
3、tCurrent()的方法來將前一個(gè)畫面替換掉,我們必須自行將前一個(gè)畫面的狀態(tài)保留起來,并自己控制整個(gè)程序畫面的切換。6Lcdui包:所有的MIDPGUI類都包含在包javax.microedition.lcdui中,該包包含了3個(gè)接口和21個(gè)類,詳見下表接口描述Choice為用戶接口組件定義一個(gè)API,實(shí)現(xiàn)從預(yù)定義的選項(xiàng)中的選擇CommandListener用于應(yīng)用程序檢索來自實(shí)現(xiàn)過程的高層次事件ItemStateListener當(dāng)應(yīng)用程序需要接收事件(該事件代表了交互項(xiàng)中的內(nèi)部狀態(tài)中的變化)時(shí)使用7類描述Ale
4、rt一個(gè)screen,它顯示數(shù)據(jù)給用戶,并在顯示下一屏前等待一段時(shí)間(藍(lán)色的,能直接創(chuàng)建對(duì)象,否則要先與藍(lán)色的類綁定才能夠創(chuàng)建對(duì)象)AlertType該類指出上面Alert的類型Canvas這是一個(gè)需要進(jìn)行低層事件處理并為屏幕顯示發(fā)出圖形調(diào)用的應(yīng)用程序的基礎(chǔ)類ChoiceGroup為了放置在表單中的一組可選擇的元素Command用來封裝某動(dòng)作的語義信息DateField一個(gè)可編輯組件,用于描述顯示在表單上的日歷上的日期和時(shí)間信息Display用于描述顯示管理器和系統(tǒng)的輸入設(shè)備8它是一個(gè)可以添加到Form或者Aler
5、t上的所有組件的基類。Item當(dāng)把圖像對(duì)象添加到form或者alert上時(shí),負(fù)責(zé)其布局控制。ImageItem存放圖像數(shù)據(jù)的類Image該類提供簡(jiǎn)單的二維幾何體著色能力Graphics完成在表單上某個(gè)值的條碼圖顯示(例如游戲的難度選擇)Gauge一個(gè)screen,其中包含了許多項(xiàng)(圖像,文本,文本域,選項(xiàng)組,等)的任意組合(不能夠直接顯示的東西就放在form中顯示)Form描述字體及其大小的類Font可被顯示的對(duì)象Displayable9List包含一系列選擇的屏幕控件Screen所用高層用戶接口類的基類Strin
6、gItem該項(xiàng)可以存放字符串TextBox允許用戶輸入和編輯文本的屏幕控件TextField可以放到表單上去的可編輯文本控件Ticker一種橫跨屏幕顯示的斷續(xù)器類型的文本,它可以被依附到除Canvas外的所有screen上。10screen之間是如何導(dǎo)航的?如何管理顯示及輸入設(shè)備的?Screen類是高級(jí)圖形用戶界面的父類,使用該類實(shí)現(xiàn)的用戶界面無需修改就可以在所有支持Java的手機(jī)上顯示。所有的功能皆由Display類來實(shí)現(xiàn),它提供了相應(yīng)的方法用于把對(duì)象顯示在設(shè)備的屏幕上以及用于檢索設(shè)備的屬性等。screen相關(guān)A
7、PI11Display類指向設(shè)備的display的引用可通過提供一個(gè)MIDlet引用給靜態(tài)方法getDisplay()而取得。publicstaticDisplaygetDisplay(MIDletc);//這個(gè)方法通常放在startApp()方法里調(diào)用publicclassMyMIDletextendsMIDlet{Displaydisplay=null;publicMyMIDlet(){}publicvoidstartApp(){display=Display.getDisplay(this);}………………
8、}12在獲得一個(gè)對(duì)設(shè)備的顯示參考后,只需創(chuàng)建一個(gè)用于顯示的GUI組件即可。注意所有的GUI組件都實(shí)現(xiàn)了抽象類Displayable。可以傳遞產(chǎn)生的GUI組件給Display的兩個(gè)setCurrent()方法:publicvoidsetCurrent(Displayabled);publicvoidsetCurrent(Alertalert,Displaya