(转帖)理解MIDP的界面类体系(高级/低级UI)
来源:互联网 发布:python黑帽子 豆瓣 编辑:程序博客网 时间:2024/05/17 21:38
因为在MIDP手机编程中,没有控制台的概念,所以所有的MIDP手机软件都必须有自己的界面,下面就熟悉一下MIDP的界面类体系。
首先说明的是,MIDP的标准界面类都位于javax.microedition.lcdui包中,使用时一定要记得引入。
在界面体系中,所以可以直接显示的界面类都继承自同一个父类——Displayable。根据是否能直接操作屏幕,以及是否和屏幕尺寸相关,MIDP的界面类分为两大类:
1、 高级用户界面——和屏幕大小无关,不能直接操作屏幕
高级用户界面类可以不需要修改就可以在所有支持Java的手机上显示,不同的手机显示方式会有所不同,但功能均可以正常使用。特别适合做对于界面要求不高的手机应用软件。
高级用户界面中的类又分为两个部分:
容器类
容器类是指直接或者是间接继承自Displayable,可以直接在屏幕上显示的类。这些类都有一个统一的父类——Screen类,其他的都是实现的容器类,包括以下几个:
Alert——提示框
Form——窗体
List——列表框
TextBox——文本盒,多行文本框
以上这些类除了Screen类以外,都代表一类界面,在实际的开发过程中,即可以直接使用(只使用其对象)也可以使用继承。
控件类
控件类是指那些不能在屏幕上直接显示,必须添加到容器类(注:MIDP中的所有控件类均只能添加到Form中)才可以显示的类。这些类也有一个统一的父类Item类,其它的都是实现的控件类,包括以下几个:
ChoiceGroup——选择框,包括单选和多选
DateFiled——日期文本框
Gauge——进度条
ImageItem——图片项目
StringItem——可变字符串项目
TextFiled——单行文本框
在MIDP2.0中,新增两个控件:
CustomItem——个性化项目,可以实现自己的控件
Spacer——空白
在实际的使用中,根据界面的需要,选择合适的控件种类,然后添加到Form中进行显示。
2、 低级用户界面——和屏幕大小相关,可以直接操作屏幕
低级用户界面可以让程序员直接操作界面,例如可以在屏幕上方便的绘制图片、文字以及基本的图形等,可以在手机中表现复杂的界面,所以很适合进行手机游戏以及移动证券之类的软件开发。但是低级界面一般和屏幕大小关系比较密切,所以在不同的手机型号之间实现的时候,一般需要进行移植。
低级用户界面主要包括两个类:
Canvas——手机画布
该类代表手机屏幕,包含获得屏幕属性的一系列方法、事件处理的方法,以及最核心的paint绘制方法等。在MIDP2.0中该类有一个子类——GameCanvas。
Graphics——画笔
系统所有的绘制动作都通过该类实现,包含一般的绘制方法、设置字体或颜色的方法以及一些技巧操作的方法等。
低级用户界面可以理解为使用Graphics这样一个画笔类在Canvas上进行绘制。
当然还有一个在高级用户界面和低级用户界面都可以使用的类——Command(软按钮类),使用该类可以在界面中实现软按钮的功能。
在整个界面体系中,除了以上最核心的类以外,还包含一些其他的辅助功能,主要分为如下几种:
1、 高级用户事件处理体系
因为高级用户界面的事件处理采用了监听器(Listener)模式,所以在API中只提供了几个接口:
CommandListener
处理软按钮(Command)事件。
ItemStateListener
处理控件(Item)状态改变事件。
ItemCommandListener——MIDP2.0新增
处理和控件相关的软按钮事件。
2、 低级用户界面辅助类
在实际使用低级用户界面中,经常用到图片、字体等,这些也在界面体系中被实现成具体的类,分别是:
Font——字体类
Image——图片类
由于J2ME对J2SE进行了大量的简化,所以颜色没有实现成具体的类,而只是支持RGB格式的表示而已。
- (转帖)理解MIDP的界面类体系(高级/低级UI)
- 深入理解MIDP的界面类体系
- 深入理解MIDP的界面类体系
- 深入理解MIDP的界面类体系
- MIDP的界面类(javax.microedition.lcdui)体系详解
- MIDP高低级界面开发
- MIDP高低级界面开发
- J2ME中文教程 4 MIDP低级UI的使用
- J2ME中文教程 4 MIDP低级UI的使用
- 高级UI 和低级 UI
- J2ME中文教程 3 MIDP高级UI 的使用
- J2ME中文教程 3 MIDP高级UI 的使用
- J2ME高级界面和低级界面的跳转
- 005 高级界面和低级界面
- (按键)深入分析J2ME平台MIDP低级事件处理机制
- 分析MIDP的高级事件处理机制
- 对于DIKW体系(模型)的理解
- 理解WebKit和Chromium: Chromium界面(UI)
- 淘宝网购物的十大防骗技巧
- 面向对象编程语言中的函数式编程--为命令模式和访问者模式正名
- cab文件安装不成功
- 命令模式
- 项目笔记
- (转帖)理解MIDP的界面类体系(高级/低级UI)
- 线性表c++
- lsof
- install mplayer on ubuntu
- 随机取出10条记录
- Mysql的行锁机制
- 用VS2005开发WAP网站初识
- 字符,字节和编码
- 迪拜地铁