作者:mingjava 文章来源:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=159
图形用户界面编程在程序开发中非常重要,因为这是程序和用户之间交互的桥梁。很难想象一个应用程序没有用户界面。在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)