按月归档: 1月 2010

[转]深入理解MIDP的界面类体系

因为在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的界面类体系,希望能使您对于界面类结构有更加深刻的认识。不足之处请积极指正!

来源:http://bbs.csai.cn/dispbbs.asp?boardid=56&Id=100957&page=7

Read: 842

忍受

什么时候我会忍不下去?

那一天你是否已经预见,亦或是从未考虑过?

忍受,忍受他将你占有
忍受,忍受那相思的苦
忍受,忍受自己。。。

我要在大庭广众之下拥抱你,亲吻你,宣告你是我的爱人!

但是,这只是幻想罢了,现实的你我依然不得已面对必须面对的事情,做出所谓正确的行为。。。

好想对你说,我爱你,我的爱人。

可是。。。。

Read: 722

亲爱的,你怎么不在我身边。。。

亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。

亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。

亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。

亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。

亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。

亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。
亲爱的,你怎么不在我身边。。。

Read: 596