Java ME程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 孙更新 宾晟_ 第3章 高级用户界面

上传人:E**** 文档编号:89541951 上传时间:2019-05-27 格式:PPTX 页数:19 大小:113.69KB
返回 下载 相关 举报
Java ME程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者 孙更新 宾晟_ 第3章 高级用户界面_第1页
第1页 / 共19页
Java ME程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者 孙更新 宾晟_ 第3章 高级用户界面_第2页
第2页 / 共19页
Java ME程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者 孙更新 宾晟_ 第3章 高级用户界面_第3页
第3页 / 共19页
Java ME程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者 孙更新 宾晟_ 第3章 高级用户界面_第4页
第4页 / 共19页
Java ME程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者 孙更新 宾晟_ 第3章 高级用户界面_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《Java ME程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 孙更新 宾晟_ 第3章 高级用户界面》由会员分享,可在线阅读,更多相关《Java ME程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 孙更新 宾晟_ 第3章 高级用户界面(19页珍藏版)》请在金锄头文库上搜索。

1、第3章 高级用户界面,本章学习要点: 掌握MIDP图形用户界面的体系结构 掌握Display类和Displayable类 掌握各种MIDP高级UI组件的使用 掌握MIDP高级用户界面中的事件处理,高级用户界面设计概述,高级用户界面组件全部定义在javax.microedition.lcdui包中。包括高级屏幕对象和表单Item组件两大类,其中的高级屏幕对象分成以下两大类: 封装了复杂的用户界面组件的屏幕对象,例如List、Alert和TextBox等。这些屏幕类的结构是预先定义好的,不能在这些屏幕对象上添加其他组件。 通用的屏幕对象,例如Form。开发者可以在这个屏幕对象上添加、删除、修改和组

2、合各种Item组件,例如StringItem、TextField、Gauge等。,高级屏幕对象都是Screen类的子类,其中4个预定义的子类是: List:包含可选项的屏幕。 TextBox:简单的文本编辑器。 Alert:包含图片和文字的警告对话框。 Form:可以添加Item组件的容器窗体。 表单Item组件包括; StringItem:用于显示静态文本的组件。 ImageItem:用于显示静态图像的组件。 TextField:用于带约束的文本类型输入框。 DateField:用于时间、日期的显示或输入。 Gauge:用于进度条的显示和输入。 ChoiceGroup:用于选项集合的单选或多

3、选。 CustomItem:MIDP2.0新增组件,用于创建用户自定义的Item。 Spacer:MIDP2.0新增组件,用于组件布局的占位符。,Display类和Displayable类,Display类有两个最主要的作用: 控制屏幕的显示。例如,使屏幕显示某个指定界面或者获得当前的显示界面等。 获得屏幕的属性。例如,屏幕是否是彩色的,背光灯控制以及支持的颜色数量等信息。 Displayable类有两个子类:Screen类和Canvas类。其中Screen类和它的派生类被称作高级屏幕对象,Canvas类用于显示在游戏中使用的图形图像,被称为低级用户屏幕对象。,TextBox文本框,TextB

4、ox是一种允许用户输入和编辑文本的屏幕。当MIDlet需要某种输入时,可以选用TextBox,但是由于TextBox中显示的文本受到手机显示屏幕大小的限制,因此同样的文本在不同的手机中显示效果也不相同,如果文本不能在一屏中显示完,TextBox会提供滚动功能,并且不需要添加任何额外的代码和设置。 创建TextBox对象需要4个参数,其构造函数如下所示: public TextBox(String title,String text,int maxSize,int constraints) 其中参数title表示屏幕中的标题文字,text表示文本框中初始的文本,可以设置为null,maxSize

5、表示文本框的最大尺寸,constraints用来限制用户的输入。constraints是TextField类的静态常量整数,由TextField组件和TextBox屏幕共享。,List列表,List是显示一组选项的屏幕,用户可以在这些选项中选择一个或者多个选项。List列表有3种形式:单选列表、复选列表和隐式列表。在List列表中用户可以通过在选项之间移动来与列表进行交互,这种交互只有在列表选项被选择之后才发生。 List列表有两个构造函数: public List(String title,int listType) public List(String title,int listType

6、,String stringElements,Image imageElements) 第一个构造函数用来创建一个空的列表,其中参数title表示列表的标题,listType表示列表的类型。第二个构造函数除了指定标题和类型之外,还能通过数组的形式指定选项的文字和图片。 列表的3种类型对应Choice接口中的常量值: Choice.EXCLUSIVE:单选列表,这种类型的列表一次只能选择一个选项。 Choice.MULTIPLE:复选列表,这种类型的列表一次可以选择多个选项。 Choice.IMPLICIT:隐式列表,这种类型的列表与单选列表类似,只是选项前面没有选择框标记,并且用户的选择和确认

7、是同时进行的。,Alert消息框,Alert的作用类似于Windows系统中的消息框,用于向用户提示一些警告、错误和确认信息。Alert是一个比较特殊的屏幕对象,在利用Display类的setCurrent()方法将它设置为当前显示的屏幕时,程序中必须存在另外一个屏幕对象,只有这样才能让Alert消息框有返回的屏幕,因此,Alert不能被设置为第一个显示的屏幕。 Alert消息框分为模式消息框和定时消息框两种。模式消息框一直停留在屏幕上,直到用户通过单击软键关闭它为止,然后它将返回之前显示的屏幕。而定时消息框只是在屏幕上显示一段时间,然后自动消失。 Alert消息框有两个构造函数: publi

8、c Alert(String title) public Alert(String title,String alertText,Image alertImage,AlertType alertType) 第一个构造函数创建定时消息框,在构造函数中没有指定超时时间,因此将采用默认的超时时间,可以在创建Alert实例之后使用setTimeout()方法来修改消息对话框的超时时间。,Form表单,Form类于其它的屏幕类不同,不仅仅是实现单一的交互功能,它是作为一个容器,用来容纳任意Item类的子类的屏幕对象,在Form对象中不使用布局管理器,通常是从上到下排列组件。 Form类有两个构造函数:

9、public Form(String title) public Form(String title,Item items) 其中参数title设置Form表单的标题,参数items是创建Form时包含的Item组件。 第一个构造函数用来创建空表单,可以使用以下方法进行插入、追加和删除操作来编辑表单中的Item组件对象。,Ticker滚动条,Ticker类用来实现一个滚动条,显示一个连续滚过屏幕的字符串。滚动的字符串可以通过程序设置,但是滚动的方向和速度不能通过程序设定,也不能在程序中控制滚动的开始和结束,这些都是由MIDP实现决定的。Ticker滚动条可以被放置在任何Screen类的屏幕上。

10、,StringItem组件,StringItem类用于在屏幕上显示一条静态信息,包括标题和正文。用户不能在屏幕中更改其内容。其作用和Windows中的Label类似。 StringItem有两个构造函数: public StringItem(String label,String text) public StringItem(String label,String text,int appearanceMode) 其中参数label表示标题,text表示正文。第二个构造函数是MIDP2.0中新加入的,其中第三个参数appearanceMode表示StringItem外观, StringIte

11、m.PLAIN、StringItem.BUTTON以及StringItem.HYPERLINK三个常量值分别表示普通外观、按钮外观和超链接外观。,TextField组件,TextField是一个可编辑的文本组件,其创建和使用方法与TexBox类似。 TextField的构造函数定义如下: public TextField(String label,String text,int maxSize,int constraints) 其中参数lable和text分别表示标题和内容,参数maxSize表示最大能够接受的字符个数,参数constraints表示输入约束,约束的定义与TextBox中的约束

12、定义是共享的。,ImageItem组件,ImageItem是一种显示Image对象的图像组件,Image类是一种图形图像容器,在Java ME中根据创建方式的不同,图像可以分为可变图像和不变图像。不变图像在创建之后不能修改,一般都是从文件或者网络中直接加载,而可变图像一般是在内存中被创建,而且在显示之前可以被任意修改。 ImageItem有两个构造函数: public ImageItem(String label,Image img,int layout,String altText) public ImageItem(String lable,Image img,int layout,Str

13、ing altText,int appearanceMode) 其中参数label表示一个标签,参数img表示要显示的图像,参数layout指明图像显示的对齐方式,参数altText表示当图像无法正常显示时的替代文字,参数appearanceMode与StringItem中的参数appearanceMode一样,分别以普通外观、按钮外观和超链接外观来显示ImageItem组件。,DateField组件,DateField是用来显示和设置日历中的日期和时间信息的组件。它和TextField一样是一种可以被放到Form表单上的可编辑组件。 DateField有两个构造函数: public Date

14、Field(String label,int mode) public DateField(String label,int mode,TimeZone timeZone) 其中参数label表示标签,参数mode表示日历显示的模式,参数timeZone表示当前的时区。表3-4列出了可用的DateField的模式。,Gauge组件,Gauge是用来向用户显示进度的组件,类似于Windows系统中的进度条。Gauge类中进度的移动是在MIDlet控制下完成的,Guage类和关联处理过程之间没有一个自动化的连接。Gauge有两种工作模式:交互模式和非交互模式。在交互模式中,用户可以控制进度条得值,

15、也就是说这种模式下,进度条不是自动增长的,而是完全受用户控制的。在非交互模式中,用户服务修改进度条的当前值,进度条将一直前进直到结束位置。 Gauge类的构造函数如下: public Gauge(String label,Boolean interactive,int maxValue,int initialValue) 其中label参数表示标签,参数interactive用来指定Gauge的模式,maxValue和initialValue分别用来表示进度条的最大值和初始值,并且初始值的范围在最大值和0之间。,ChoiceGroup组件,ChoiceGroup组件允许用户从一组选项中选择一个

16、或者几个选项,其功能与List列表非常类似,其实两者都实现了Choice接口,但是与List列表不同的是,ChoiceGroup组件只支持单选和复选模式,不支持隐式模式,而且在MIDP2.0中新增加了一种POPUP弹出模式。ChoiceGroup通常会根据构造函数中的模式参数来决定显示单选按钮还是复选按钮。,CustomItem组件,CustomItem是MIDP2.0新增组件,它可以由用户自行定制,允许创建用户自定义外观的Item组件。在MIDP1.0中,只能使用MIDP中定义的Item组件,无法创建用户自己的Item组件,使用Canvas低级屏幕对象虽然能绘制出任何我们想要的组件,但是却无法将其放入高级屏幕对象中与其它Item组件配合使用。因此,MIDP2.0中的CustomItem组件是高级用户屏幕界面和低级用户屏幕界面的混合体,该类是一个抽象类,必须由其子类来实现定义它,Spacer组件,Spacer组件也是MIDP2.0新增的组件,其作用是用来定位屏幕上的其它组件,调整Form表单中Item组件的布局。它是不可见的,不具备和用户交互的能力。只需要制定每一个Spa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号