(轉帖)理解MIDP的界面類體系(高級/低級UI)

因爲在MIDP手機編程中,沒有控制檯的概念,所以所有的MIDP手機軟件都必須有自己的界面,下面就熟悉一下MIDP的界面類體系。

       首先說明的是,MIDP的標準界面類都位於javax.microedition.lcdui包中,使用時一定要記得引入。

       在界面體系中,所以可以直接顯示的界面類都繼承自同一個父類——Displayable。根據是否能直接操作屏幕,以及是否和屏幕尺寸相關,MIDP的界面類分爲兩大類:

1、  高級用戶界面——和屏幕大小無關,不能直接操作屏幕

高級用戶界面類可以不需要修改就可以在所有支持Java的手機上顯示,不同的手機顯示方式會有所不同,但功能均可以正常使用。特別適合做對於界面要求不高的手機應用軟件。

高級用戶界面中的類又分爲兩個部分:

         容器類

容器類是指直接或者是間接繼承自Displayable,可以直接在屏幕上顯示的類。這些類都有一個統一的父類——Screen類,其他的都是實現的容器類,包括以下幾個:

       Alert——提示框

       Form——窗體

       List——列表框

      TextBox——文本盒,多行文本框

以上這些類除了Screen類以外,都代表一類界面,在實際的開發過程中,即可以直接使用(只使用其對象)也可以使用繼承。

 

         控件類

控件類是指那些不能在屏幕上直接顯示,必須添加到容器類(注:MIDP中的所有控件類均只能添加到Form中)纔可以顯示的類。這些類也有一個統一的父類Item類,其它的都是實現的控件類,包括以下幾個:

       ChoiceGroup——選擇框,包括單選和多選

       DateFiled——日期文本框

       Gauge——進度條

       ImageItem——圖片項目

       StringItem——可變字符串項目

       TextFiled——單行文本框

在MIDP2.0中,新增兩個控件:

       CustomItem——個性化項目,可以實現自己的控件

       Spacer——空白

 

在實際的使用中,根據界面的需要,選擇合適的控件種類,然後添加到Form中進行顯示。

 

2、  低級用戶界面——和屏幕大小相關,可以直接操作屏幕

低級用戶界面可以讓程序員直接操作界面,例如可以在屏幕上方便的繪製圖片、文字以及基本的圖形等,可以在手機中表現複雜的界面,所以很適合進行手機遊戲以及移動證券之類的軟件開發。但是低級界面一般和屏幕大小關係比較密切,所以在不同的手機型號之間實現的時候,一般需要進行移植。

低級用戶界面主要包括兩個類:

         Canvas——手機畫布

該類代表手機屏幕,包含獲得屏幕屬性的一系列方法、事件處理的方法,以及最核心的paint繪製方法等。在MIDP2.0中該類有一個子類——GameCanvas。

         Graphics——畫筆

系統所有的繪製動作都通過該類實現,包含一般的繪製方法、設置字體或顏色的方法以及一些技巧操作的方法等。

              低級用戶界面可以理解爲使用Graphics這樣一個畫筆類在Canvas上進行繪製。

       當然還有一個在高級用戶界面和低級用戶界面都可以使用的類——Command(軟按鈕類),使用該類可以在界面中實現軟按鈕的功能。

       在整個界面體系中,除了以上最核心的類以外,還包含一些其他的輔助功能,主要分爲如下幾種:

1、  高級用戶事件處理體系

因爲高級用戶界面的事件處理採用了監聽器(Listener)模式,所以在API中只提供了幾個接口:

         CommandListener

處理軟按鈕(Command)事件。

         ItemStateListener

處理控件(Item)狀態改變事件。

         ItemCommandListener——MIDP2.0新增

處理和控件相關的軟按鈕事件。

 

2、  低級用戶界面輔助類

在實際使用低級用戶界面中,經常用到圖片、字體等,這些也在界面體系中被實現成具體的類,分別是:

         Font——字體類

         Image——圖片類

由於J2ME對J2SE進行了大量的簡化,所以顏色沒有實現成具體的類,而只是支持RGB格式的表示而已。

發佈了16 篇原創文章 · 獲贊 5 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章