MIDP图形用户界面结构分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MIDP图形用户界面结构分析

图形用户界面编程在程序开发中非常重要,因为这是程序和用户之间交互的桥梁。很难想象一个应用程序没有用户界面。在J2SE中我们可以通过AWT/Swing开发图形用户界面,也可以使用近期备受关注的SWT。 在 J2ME专家组织定MIDP中的图形用户界面的时候,考虑到设备的性能比较有限,AWT/Swing主要是针对桌面应用程序而设计的原因,最终没有采用 AWT/Swing作为MIDP的图形用户界面库。而重新设计了小巧的javax.microedition.lcdui包。本章将主要讲述MIDP图形用户界面的体系结构,并对各个类的作用和使用作简单的介绍。 本文将按照MIDP2.0的规范进行介绍,我们必须清楚地知道在MIDP图形用户界面中是有低级图形用户界面和高级图形用户界面分别的。同样事件处理机制也有高低之分。首先我们通过图表来展示一下MIDP2.0中图形用户界面的体系结构: 从结构中我们可以看到,Displayable是所有用户界面组件的超类。从Displayable中分出两个分支一个是Screen,另一个是Canvas。前者是高级图形用户界面的超类,后者是低级图形用户界面的超类。 首先我们来看高级图形用户界面,Screen的四个子类分别是TextBox,List,Alert和Form。其中前面三个是预定义类型的组件,他们的内容基本定义好了,比如TextBox就是多行的输入框。而最后一个Form类是开放类型的,也可以成为容器类型。 Form是负责管理Item的(Item后面我们会谈到),Form根据Item的信息对他们进行布局等规划。下面我们分别来描述一下这四个高级图形用户界面组件的功能: TextBox是提供给用户输入多行数据的组件,我们也可以对用户的输入进行类型的限制。构造器如下TextBox(String title, String text, int maxSize, int constraints) List是提供给用户选择选项的组件,List实现了Choice接口。通常它可用做制作菜单和列表式信息如电话本。构造器如下: List(String title, int listType) List(String title, int listType, String[] stringElements, Image[] imageElements) Alert则是用来在一段时间内显示信息给用户看,也可以作为确认框使用。构造器如下: Alert(String title) Alert(String title, String alertText, Image alertImage, AlertType alertType) Form作为容器类,是通过在其中添加相应的Item来收集用户输入信息的,比如添加TextField。构造器如下: Form(String title) Form(String title, Item[] items) 最后我们必须要介绍的一个类就是Display,它是设备屏幕的代表,在我们的程序中只有一个Display的引用,通过方法 Display.getDisplay(MIDlet midlet)得到。通过它我们得到当前设备屏幕的一些信息,比如色彩之类,但是最重要的是我们通过Display的setCurrent()方法来展现给用户不同的屏幕。 下面我们必须介绍的是Item类,它是所有能够被添加到Form容器上的组件的父类,我们来看看Item的继承结构图: 在MIDP2.0中,Item的子类共有8个,他们的功能各不相同,这里不再进行一一的介绍了。只对其中比较常用的类进行简单讲解。TextField类是我们经常使用的,它只能提供单行的输入。DateField类提供给用户输入日期的功能,ChoicGroup同样是实现了Choice接口,我们可以通过模式来把它用作单选和多选。 CustomItem是在MIDP2.0中提供给用户的,其实它是介于高级和低级之间的用户界面,我们可以把它叫做增强型图形用户界面,因为它可以添加到Form中,且可以通过实现一系列的抽象方法来绘制自己。比如你可以实现一个表格组件。 Canvas类是所有低级用户组件的父类,我们通过实现Canvas类的paint(Graphics g)方法来绘制屏幕,主要是使用Graphics类提供的各种方法。在MIDP2.0中提供了一个GameCanvas类,是专门为游戏开发设计的。关于Canvas类可以说的很详细,但是这里只是为了介绍体系结构所以不再多说了。接下来我们来看看MIDP图形用户界面中的事件处理机制,在高级图形用户界面中我们必须了解的是三个Listener和一个Command,其中的原理就是回调机制,回调在图形界面编

文档评论(0)

zw4044 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档