资源描述
PhoneBookVisualMIDlet,
位置采用默认位置,单击完成。
创建启动画面:在流视图环境下,从组件面板的可显示项中拖动一个闪屏组
件到流设计窗口,闪屏用于显示软件的版本等相关信息。为了设置导航,拖动“移
动设备〞的“已启动〞至splashScreen项。双击splashScreen组件标题,进入“屏
幕〞设计器界面,双击splashScreen组件屏幕中的“<未指定图像>〞,打开图像
对话框。单击“添加〞按钮,添加默认名为image1的资源,单击右侧的“浏览〞
按钮,选择一幅png图片作为闪屏图片,还可以设置图片的属性。单击VMD设
计器的源按钮,切换到代码编辑器窗口,在getSplashScreen〔〕方法的最后添加
如下代码来猜去软键盘:
SplashScreen.removeCommand(SplashScreen.DISMISS_COMMAND);
点击运行。
代码解析:Display代表了系统显示屏幕和输入设备的管理器,用来获取设
备属性的方法以及设备建议应该显示的对象。Displayable类是一个抽象类,它的
子类都具有显示在屏幕上的能力,MIDP用户界面的核心是Displayable对象,它
封装了用于获取用户输入的设备相关图形,同一时间只能有一个
Displayable对
象对用户可见,此时用户只能与此Displayable对象进行交互,对象间的调用显
示通常是通过命令按钮触发事件来完成。MIDlet是基于事件的应用程序,MIDlet
中执行的所有程序都是为了响应应用程序发送给
MIDlet的事件被调用的,应用
程序通过获得MIDlet的Display进行用户界面的管理,负责与应用程序管理器进
行交互,并且用Displayable的子类〔Screen,Canvas〕代表可以显示的用户界面。
MIDlet通过调用Display类的setCurrent()方法,可以将Displayable类的派生类
的实例设置在屏幕上,调用getCurrent()方法来获取Displayable类的派生类的实
例消息。MIDlet可以通过调用setCurrent〔null〕请求最小化,也可以通过调用
setCurrent〔x〕〔x!=null〕请求最大化。项目运行后,startMIDlet()方法通过调
用switchDisplayable()方法来决定屏幕的显示对象,switchDisplayable()方法代码
如下:
publicvoidswitchDisplayable(Alertalert,DisplayablenextDisplayable){
Displaydisplay=getDisplay();
If(alert==null){
display.setCurrent(nextDisplayable);
}else{
display.setCurrent(alert,nextDisplayable);
}}
可以看出,MIDlet程序首先生成Display实例,然后通过
display.setCurrent(nextDisplayable)方法将Displayable对象SplashScreen显示在屏
幕上,通过点击Next或Back按钮,切换屏幕显示的内容。
案例设计——通讯录设计:打开项目,拖动一个列表、一个表单和一个文本
框组件到流设计窗口。双击添加的list对象标题,设置实例名为menuList,在属
性窗口中设置标题为主菜单,类型为IMPLICIT。从组件面板的元素中拖动5个
列表元素到list,在属性窗口分别设置它们的如下属性:字符串属性为浏览、添
加、查找、删除和帮助,字体属性为menufont,具体设置方法是打开字体对话框,
设置字体,并分别设置合适的图像属性,方法与设置SplashScreen中图像的属性
类似,再拖入一个退出按钮。双击form对象标题,设置实例名为addContactForm,
在属性窗口中设置标题为添加联系人,从组件面板的项中拖动两个文本字段至屏
幕,标签分别设置为“姓名〞和“移动〞,重命名两个文本字段为nameField
和mobileField。设置两个文本字段的文本属性为空,设置
mobileField的输入限
制设置为号码。从组件面板的项中拖动一个选项组至屏幕,标签设置为空,
类型设置为MULTIPLE,重命名该项为choice。拖动一个选择元素至choice,设
置字符串为“详细信息〞,其余缺省设置,该组件的作用是如果用户勾选给项,
那么添加两个文本字段:固定和电子邮件。拖动一个后退按钮和一个确定按钮
到form,设置确定按钮的标签为保存。双击TextBox对象的标题,设置实例名
为helpTextBox,在属性窗口中设置标题为帮助,设置最大大小属性为
200,拖
动一个退后按钮到textBox。在流设计器中,拖动每个用户界面的元素导航至目
标界面。
运行项目。
代码解析:TextBox类的作用是在现实设备上构建一个文本编辑区域,用户
可以子啊该区域编辑和显示文本信息,TextBox类的构造方法是:TextBox(String
title,Stringtext,intmaxSize,intconstraints),Title为TextBox的标题,text为初
始文本内容,maxSize为允许输入字符的最大长度,constraints为输入限制,其
中,输入限制通过构造方法中的参数constraints来实现。List类用于显示一组可
选择的字符串列表。List类的构造方法为:publicList(Stringtitle,intlistType,String[]
stringElements,Image[]imageElements),title为List的标题,listType为列表类型,
stringElements[]为列表字符串数组,imageElements[]为列表图片数组。List组件
支持三种类型的项目选择:List.EXCLUSIVE,List.MULTIPLE,List.IMPLICIT.List
类实现Choice接口,在用户从一个IMPLICIT列表中选择项目时,列表使用定
义为List.SELECT_COMMAND的特殊命令对象通知它的监听器,这个对象在新
的项目被选择的时候被作为第一个参数传递到
commandAction方法。Form类是
Item子类的容器,在Form中可以添加、删除及设置Item子类。添加到Form中
的Item子对象在Form中的布局由Item子对象的布局参数决定。Form的构造方
法为:Form(Stringtitle,Item[]items),Title为Form的标题,items[]为Form中的
元素,在Form中,每个Item元素都有一个索引值,且索引值是连续的,第一个
Item元素的索引值为0,最后一个item元素的索引值为size()-1.每一个Item的子
类的实体,在同一时刻只能属于同一个容器,否那么在加入其它容器是将产生
IIIegalStateException异常。TextField类用于在Form中显示一行文本输入框,
TextField类的构造方法是:
publicTextField(Stringlabel,Stringtext,intmaxSize,intconstraints)其参数含义
与TextBox类似。ChoiceGroup与List类似,用于构造一组选择列表,ChoiceGroup
类的构造方法是:publicChoiceGroup(Stringlabel,intchoiceType,String[]
stringElements,Image[]imageElements),ChoiceGroup类没有Choice.IMPLICIT选择
类型,但添加了Choice.POPUP选择类型。
下面开始修改AddContactForm表单设计,实现用户勾选“详细信息〞复选
框时在表单中添加固定和电子邮件文本输入框,取消勾选“详细信息〞复选
框时,表单中只输入联系人姓名和移动信息,首先在程序开始部分为固定电
话和电子邮件是两个TextField组件作如下定义:privateTextFieldphoneField=
newTextField(“固定〞,null,32,TextField.PHONENUMBER);privateTextField
emailField=newTextField(电“子邮箱〞,null,32,TextField.EMAILADDR);并定义以
下两个变量用于保存上述变量在表单中的索引值,privateintphoneIndex;private
intemailIndex;为了实现choice状态的监听,PhoneBookV
展开阅读全文
相关搜索
资源标签