- 2
- 0
- 约5.09万字
- 约 51页
- 2016-08-05 发布于重庆
- 举报
LongSCUJ2ME第4章
第4章 MIDP高级界面开发
本章学习要点:
● 了解Screen的基本概念 ●了解基本屏幕类的开发
● 掌握控件的开发技术 ●掌握控件事件的开发过程
● 掌握自绘画控件的开发技术 ●掌握对话框的编写技巧
软件每一步操作时所显示的电脑版面称为界面。一个好的界面必备条件是:内容清楚、指示明白、屏幕美观和有亲切感。界面通常包含有图形与文字。程序界面的设计是对适当控件取舍及功能的选择和处理的过程。在程序设计中,需要对设计的方法反复推敲、琢磨,才能使其达到完美的境地。但是MIDP的界面设计开发不同于一般的桌面程序,它受限于屏幕的大小、颜色、内存和处理能力,不可能做到桌面程序那样花哨。所以一个好的界面也应该根据具体设备情况进行针对性的设计,由于使用J2ME提供的基础的控件,所以叫做高级界面。本章将介绍一些基本的高级界面屏幕和控件开发以及给出了相关的实例代码。
4.1 MIDP高级界面开发简介
MIDP中定义的界面从逻辑上包括两组API:高级API与低级API。高级API提供了常用的应用控件,它主要强调可移植性,但是高级API对于控件的显示外观只有有限的控制权以及事件的使用也很有限,但是一个优点就是提供了程序的高复用控件以及增加系统的整体协调性和一致性。
4.1.1 Display类的开发
MIDP程序界面是通过屏幕显示出来。由于手机或其他无线设备,一般都具有一个显示屏幕,在屏幕上显示一幅画面就是一个Display对象所要实现的功能。每个MIDP程序都由Displayable对象来具体处理如何在屏幕上显示内容。MIDP程序可以根据手机使用者与程序的交互情况,把每次的操作后的画面通过Displayable对象显示在当前屏幕上。Displayable是Display的一个继承类,它主要包括两个具体的实现类:高级界面开发类Screen和低级界面开发类Canvas。
Displayable中MIDP1.0就定义的函数有:
boolean isShown()
void addCommand(Command?cmd)
void removeCommand(Command?cmd)
void setCommandListener(CommandListener?l)
Displayable中MIDP2.0新添加的函数有:
String getTitle()
public void setTitle(String?s)
Ticker getTicker()
public void setTicker(Ticker?ticker)
public int getWidth()
public int getHeight()
protected void sizeChanged(int?w, int?h)
以上函数都可以在Screen类和Canvas类中使用。但是进行MIDP开发的时候,一定要分清楚程序的开发环境,如果是在MIDP1.0的开发平台下开发,则MIDP2.0新添加的函数是不能够使用的。在MIDP2.0中,高级界面的开发类的继承关系如图4-1所示,高级界面开发类Screen类共有4个继承它的屏幕类,而Form屏幕类又共有8个继承Item类的控件类,其中在MIDP2.0开发平台中,Form类新增加了CustomItem类和Spacer类,图4-1中使用灰色背景方框显示。
图4-1 高级界面类继承图
4.1.2 基本控件开发简介
在图4-1中已经可以看到,Screen子类共有4个屏幕类:Alert,Form,List,TextBox 。这4个子类本身就是屏幕类,可以直接在屏幕上显示。其中,Alret是用来显示提示信息的屏幕类,List是用来显示列表的屏幕类,TextBox是用来输入文字信息的屏幕类。但是,一个复杂的程序界面往往需要多种类型的输入方式或显示方式,Form屏幕类被设计成可以包含多个不同类型的控件,使用Form类可以管理屏幕上的Item控件,基本的Item控件有:Item、image、imageItem 、stringItem 、TextField、DateField、ChoiceGroup等控件。
虽然Form类允许对不同的控件进行任意的组合,但是设计时候还是应该注意屏幕的大小,需要根据屏幕的实际情况来更改显示的控件的布局,因此手机程序虽然可移植性很好,但是很多时候还是需要根据实际情况做出更改的。
4.2 事件处理
在Java程序中,实现与用户的交互的功能的控件都是需要通过事件来处理的,需要指定控件所用的事件监听器。与其他的一些可视化开发的语言,比如Delphi、Vc6.0等,都是特定控件本身就可以关联一个函数实现控件的功能。
4.2.1 什么是事件
事件就是用户与GUI(图形界面)交互的时候所触发的事情
原创力文档

文档评论(0)