midp高级界面编程

midp高级界面编程

ID:36302362

大小:667.81 KB

页数:101页

时间:2019-05-08

midp高级界面编程_第1页
midp高级界面编程_第2页
midp高级界面编程_第3页
midp高级界面编程_第4页
midp高级界面编程_第5页
资源描述:

《midp高级界面编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章MIDP高级界面编程郝玉龙E_mail:haoyulongsd@163.com《J2ME移动应用开发》电子讲义6.1LCDUI体系结构概述6.2高级用户界面编程基础6.3Command处理机制6.4Screen对象6.5List组件6.6TextBox组件6.7Alert组件6.8Form类小结6.1LCDUI体系结构概述为适应种类繁多的移动信息设备,CLDC本身没有定义任何GUI功能,而是由J2ME将所有与界面相关的类库都定义在简表(例如MIDP)中,这样在更大程度上包含了保证了界面类库的适应性。6.1.1LCDUI工作模型第一

2、步:为了在MIDP设备上显示信息,需要取得设备的显示屏幕。Display对象代表的是移动设备显示屏幕,每个MIDlet都有且仅有Display对象的一个实例。Display对象实质上是设备显示屏的管理程序,它控制在设备上显示什么内容。在J2ME程序中只有一个Display的引用,通过静态方法Display.getDisplay(MIDletmidlet)得到。第二步:通过Display的引用程序开发人员可以得到当前设备屏幕的一些信息,比如色彩之类,但是最常用的方法是通过Display的setCurrent()方法将抽象屏幕对象绑定到当前

3、设备屏幕上来显示。图形用户界面开发中更多的工作是实现抽象屏幕对象,由抽象屏幕对象封装和管理实现程序与用户之间交互的图形界面组件如文本框、选择框列表等。当使用高级图形API时,抽象屏幕由javax.microedition.lcdui.Screen对象代表,当使用低级屏幕API时,,抽象屏幕由javax.microedition.lcdui.canvas对象代表。应用程序可以包含几个抽象屏幕对象,不过某一时间只能在显示器上显示一个屏幕(或者说只有一个当前屏幕)。图6-1LCDUI体系结构图6-1LCDUI体系结构为了实现可移植性,高层AP

4、I进行了高度抽象,在界面外观上提供的控制很少。例如,不允许定义高层组件的视觉外观(形状、颜色或字体),与组件之间的大多数交互都被实现封装,即由底层实现而不是应用程序完成对设备硬件和本地用户界面类型的适应工作。因此,如果使用高级API,那么用户界面就具有较高移植性。但是高级API提供的组件都会由底层的虚拟机直接映射到该设备的本地用户界面,所以程序开发人员无法决定最终显示到设备屏幕上时组件的颜色、字型和外观,因为这些细节都是由系统决定,程序开发人员对画面的控制程度相对较低。另外,采用高级API开发的用户界面,与用户的交互都会遵循该移动设备既

5、有用户界面的操作方式。所以,采用高级用户界面开发的应用,如果发布到不同类型的移动设备上,用户界面的外观和交互方式出现一些差异是很正常的。使用低级API开发应用就相对复杂。低层API提供很少的抽象。使用它们的应用程序需要精确地布局和控制图形元素,同时还需要访问低层输入事件。使用低级API时,将对移动设备的显示屏幕具有完全的控制权,同时也能够决定用户该如何与程序交互,因此程序开发人员考虑的细节就比较多。由于每种设备都有不同的特性(不同的操作方式、颜色和大小),因此一旦采取低级API,程序的可移植性将大大降低,将不再保证程序可以在不同的机器上

6、执行。6.2高级用户界面编程基础6.2.1Display对象MIDP使用Display对象进行用户界面的管理,负责与应用程序管理器进行交互。Display代表了系统显示屏和输入设备的管理器,包含用来获取设备属性的方法,以及请求在设备上显示抽象屏幕对象的方法。表6-1Display对象常用方法方法名称方法说明voidcallSerially(Runnabler)用来序列化事件流,使Runnable对象r的run方法在重画周期完成后马上运行DisplayablegetCurrent()获得MIDlet的当前Displayable对象stat

7、icgetDisplay(MIDletm)获得MIDlet唯一的Display对象BooleanisColor()获得设备所支持的彩色信息intnumColors获得设备表示的彩色数或灰度级voidsetCurrent(AlertaDisplayabled)请求设置alert对象为当前显示对象,alert解除后将Displayable对象设置为当前显示对象voidsetCurrent(Displayabled)请求将Displayable对象设置为当前显示对象publicbooleanflashBacklight(intduration

8、)控制屏幕背景灯闪烁publicbooleanvibrate(intduration)控制手机震动程序6-1:DisplayTest.javapackagechap6;importjavax.microed

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。