4.1 J2ME界面体系介绍
 

4.1 J2ME界面体系介绍

       在手机这种嵌入式设备中,因为受到硬件设备的限制,所以界面的种类受到了很大的限制。所以在J2ME的界面API中,提供的界面类的种类很有限,这简化了程序的学习,但是也现在了程序界面的表现能力。

       J2ME和界面编程相关的API都位于javax.microedition.lcdui包中。按照是否可以直接绘制屏幕,将界面分为两大类:

u       高级用户界面——不能直接绘制屏幕的界面类

u       低级用户界面——可以直接绘制屏幕的界面类

       其中高级用户界面在所有的手机上都可以不需要修改,直接运行,也和屏幕大小无关,但是在不同的手机上外观会有所不同。

       低级用户界面可以使用程序直接绘制屏幕,从而实现各种各样的界面,但是一般低级用户界面需要在不同屏幕大小的手机上显示存在差异。

       另外,所有的界面类又可以分为两类:

u       容器类——可以独立显示,也可以容纳其他界面类

u       控件类——不能独立显示,也不能容纳其他的界面类

       在实际的使用,一般窗口属于容器类,而象文本框、选择框这样的界面类属于控件类。下面就依次进行介绍。

       在设计界面类时,所有的容器类都继承自统一的父类——Displayable类。该类中包含容器类中的一般操作方法。该类拥有两个直接子类:

u       Screen——高级界面容器类的父类,其子类包括FormListAlertTextBox四种。分别为:

l         Form——窗口类

l         List——列表框

l         Alert——提示框

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

u       Canvas——低级界面容器类。

       在所有界面的容器类中,都可以添加按钮——Command类。而Form界面中可以添加一系列的控件类。

       所有控件类都有一个统一的父类——Item类,包括的子类分别为TextFieldChoiceGroupStringItemImageItemGaugeDateFiled。分别为:

l         TextField——单行文本框

l         ChoiceGroup——选择框,包括单选和多选

l         StringItem——字符串项目

l         ImageItem——图片项目

l         Gauge——进度条

l         DateFiled——日期和时间文本框

MIDP2.0 API中,还增加了如下两个控件:

l         CustomItem——个性化项目

l         Spacer——空白

       除了这些界面类以外,在javax.microedition.lcdui包中,还包含如下和界面相关的一些类,依次如下:

u       Font——字体类

u       Graphics——画笔类

u       Image——图片类

u       Display——显示设备控制类

以及一些和事件处理相关的一些接口结构,这就是J2ME MIDP API的界面类体系结构。