深入理解MIDP的界面类体系

深入理解 MIDP 的界面类体系

作者:陈跃峰

Email cqucyf@gmail.com

 

       因为在 MIDP 手机编程中,没有控制台 的概念,所以所有的 MIDP 手机软件都必须有自己的界面,下面就熟悉一下 MIDP 的 界面类体系。

       首 先说明的是, MIDP 的标准界面类都位于 javax.microedition.lcdui 包中,使用时一定要记得引入。

       在界面体系中,所以可以直接显示的界面类都继承自同一个父类—— Displayable 。根据是否能直接操作屏幕,以及是否和屏幕尺寸相关, MIDP 的界面类分为两大类:

1、   高级用户界面——和屏幕大小无关,不能直接操作屏幕

高级用户界面类可以不需要修改就可以在所有支持 Java 的手机上显示,不同的手机显示方式会有所不同,但功能均可以正常使用。特别适合做对于界面要求不高的 手机应用软件。

高 级用户界面中的类又分为两个部分:

l          容器类

容器类是指直接或者是间接继承自 Displayable ,可以直接在屏幕上显示的类。这些类都有一个统一的父类—— Screen 类,其他的都是实现的容器类,包括以下几个:

u        Alert —— 提示框

u        Form ——窗体

u        List —— 列表框

u        TextBox ——文本盒,多行文本框

以上这些类除了 Screen 类以外,都代表一类界面,在实际的开发过程中,即可以直接使用 ( 只使用 其对象 ) 也可以使用继承。

l          控件类

控件类是指那些不能在屏幕上直接显示,必须添加到容器类 ( 注: MIDP 中的所有控件类均只能添加 到 Form ) 才可以显示的类。这些类也有一个 统一的父类 Item 类,其它的都是实现的控件类,包括以下几个:

u        ChoiceGroup ——选择框,包括单选和多选

u        DateFiled ——日期文本框

u        Gauge ——进度条

u        ImageItem ——图片项目

u        StringItem ——可变字符串项目

u        TextFiled ——单行文本框

MIDP2.0 中,新增两个控件:

u        CustomItem ——个性化项目,可以实现自己的控件

u        Spacer ——空白

在实际的使用中,根据界面的需要,选择合适的控件种类,然后添加到 Form 中进行显示。

2、   低级用户界面——和屏幕大小相关,可以直接操作屏幕

低级用户界面可以让程序员直接操作界面,例如可以在屏幕上方便的绘制 图片、文字以及基本的图形等,可以在手机中表现复杂的界面,所以很适合进行手机游戏以及移动证券之类的软件开发。但是低级界面一般和屏幕大小关系比较密 切,所以在不同的手机型号之间实现的时候,一般需要进行移植。

低级用户界面主要包括两个类:

l          Canvas ——手机画布

该类代表手机屏幕,包含获得屏幕属性的一系列方法、事件处理的方法,以及最核心的 paint 绘制方法等。在 MIDP2.0 中该类有一个子类—— GameCanvas

l          Graphics ——画笔

系统所有的绘制动作都通过该类实现,包含一般的绘制方法、设置字体或 颜色的方法以及一些技巧操作的方法等。

              低级用户界面可以理解为使用 Graphics 这样一个画笔类在 Canvas 上进行绘制。

       当然还有一个在高级用户界面和低级用户界面都可以使用的类—— Command( 软按钮类 ) ,使用该类可以在界面中实现软 按钮的功能。

       在 整个界面体系中,除了以上最核心的类以外,还包含一些其他的辅助功能,主要分为如下几种:

1、   高级用户事件处理体系

因为高级用户界面的事件处理采用了监听器 (Listener) 模式,所以在 API 中 只提供了几个接口:

l          CommandListener

处理软按钮 (Command) 事件。

l          ItemStateListener

处理控件 (Item) 状态改变事件。

l          ItemCommandListener —— MIDP2.0 新增

处理和控件相关的软按钮事件。

2、   低级用户界面辅助类

在实际使用低级用户界面中,经常用到图片、字体等,这些也在界面体系中被实现成具体的类,分别是:

l          Font —— 字体类

l          Image ——图片类

由于 J2ME J2SE 进行了大量的简化,所以颜色没有实现成具体的类,而只是支持 RGB 格式的表示而已。

       以上系统的介绍了 MIDP 的 界面类体系,希望能使您对于界面类结构有更加深刻的认识。不足之处请积极指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值