`
isiqi
  • 浏览: 16497896 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

MIDP的界面类(javax.microedition.lcdui)体系详解

阅读更多

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

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

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

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

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

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

1、容器类

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

Alert——提示框

Form——窗体

List——列表框

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

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

2、控件类

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

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

DateFiled——日期文本框

Gauge——进度条

ImageItem——图片项目

StringItem——可变字符串项目

TextFiled——单行文本框

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

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

Spacer——空白

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

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

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

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

1Canvas——手机画布

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

2Graphics——画笔

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

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

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

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

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

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

CommandListener 处理软按钮(Command)事件

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

ItemCommandListener 处理和控件相关的软按钮事件——MIDP2.0新增

2、低级用户界面辅助类

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

Font——字体类

Image——图片类

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

分享到:
评论

相关推荐

    J2ME游戏程序开发实例详解.pdf

    使用javax.microedition.lcdui.game.Ticker和 javax.microedition.lcdui.game.TimerTask可以实现定时更新,配合Thread类,可以定时执行游戏逻辑。 9. 常见的J2ME游戏项目: 开发J2ME游戏项目时,开发者经常会使用...

    J2ME生活管理软件

    开发者可能利用了J2ME的`javax.microedition.io.Connector`和`javax.microedition.lcdui.Form`类来实现界面和数据交换功能。用户可以通过这个模块实时查看待办事项,提高工作效率。 **2. 生活板块** 生活板块用于...

    j2me api 源代码

    - `javax.microedition.lcdui`: 用户界面组件,如Display、Form、List、ChoiceGroup等,用于构建J2ME应用程序的图形用户界面。 - `javax.microedition.io`: 提供了网络和串行通信接口,如Connector和...

    MIDP-canvas.rar_J2ME 界面_MIDP canvas_canvas_canvas j2_j2me

    Canvas 是J2ME MIDP中的一个类,继承自 javax.microedition.lcdui.Graphics 类,提供了直接绘制像素的能力。通过Canvas,开发者可以创建自己的图形界面,而不仅仅是使用预定义的组件。这为创建复杂的游戏和图形应用...

    J2ME开发大全,适用于初学者

    J2ME使用User Interface (UI) API,如MIDP的`javax.microedition.lcdui`包,来创建图形用户界面。常用的UI组件包括`Form`、`Item`、`Command`等,开发者可以通过这些组件构建交互式的应用界面。 ### 5. 网络通信 ...

    J2ME学习课件

    J2ME的UI设计主要使用MIDP API中的`javax.microedition.lcdui`包,包含`Form`, `ChoiceGroup`, `Alert`, `TextBox`等组件。同时,`Canvas`类允许开发者自定义更复杂的图形界面。 5. **网络通信** J2ME提供了`...

    yuandaima.rar_j2me 实例

    其中,`javax.microedition.lcdui`包提供了图形用户界面元素,如Form、ChoiceGroup、Alert等;`javax.microedition.midlet`包则包含了Midlet类,它是所有J2ME应用程序的基础。 3. **KJava虚拟机与字节码** J2ME...

    基于Eclipse的J2ME手机编程源代码

    - 学习MIDP API,特别是`javax.microedition.lcdui`和`javax.microedition.midlet`包中的类。 - 练习编写简单的用户界面和交互逻辑。 - 使用Eclipse的模拟器进行测试和调试。 - 分析压缩包中的源代码,理解其实现...

    J2ME手机编程设计

    4. **用户界面**:J2ME提供了一个轻量级用户界面框架,称为CLDC (Connected Limited Device Configuration) GUI,通过`javax.microedition.lcdui`包中的类来创建。常用的组件包括Form、Item、Canvas等,可以用于构建...

    CLDC API(j2me api)

    2. **用户界面**:`javax.microedition.lcdui`包提供了简单的图形用户界面元素,如`Form`, `Displayable`, `Alert`等。 3. **数据存储**:通过`javax.microedition.rms`包实现记录存储管理,保存应用程序的数据。 4....

    J2ME编写的猜单个数字游戏

    5. **反馈提示**:根据用户的猜测,使用`javax.microedition.lcdui.Alert`类创建提示消息,显示猜高、猜低或猜对的信息。 6. **循环逻辑**:在用户猜对之前,重复以上过程,直到用户猜中或尝试次数用尽。 ### 四、...

    j2me 猜数字小程序

    2. **用户交互**:J2ME的MIDP提供了用户界面组件,如`javax.microedition.lcdui.TextField`用于输入猜测,`javax.microedition.lcdui.Command`和`javax.microedition.lcdui.CommandListener`用于处理用户操作,如...

    NIT J2ee考试题

    - MIDlets通常使用javax.microedition.lcdui包中的类来构建用户界面。Displayable对象是屏幕的基础,可以使用setCurrent()方法将新的界面元素添加到显示列表。 - TextField类用于显示单行文本输入,而Canvas类则...

    j2me贪吃蛇小游戏

    - MIDP提供了简单的用户界面API,如`javax.microedition.lcdui.Command`,可以添加开始、暂停和退出等命令按钮。 4. **存储与记录**: - 使用MIDP的`RecordStore` API保存高分和其他游戏数据。 5. **优化性能**...

    J2ME游戏程序开发实例详解

    在J2ME游戏开发中,MIDP2.0是一个重要的版本,因为它增加了对游戏的支持,特别是在`javax.microedition.lcdui.game`包中引入了`Sprite`类,这是一个用于处理游戏内图像翻转的关键组件,对于创建动态游戏场景至关重要...

    《程序天下-J2ME手机游戏开发详解》源码

    3. **图形和动画**:J2ME中的图形编程主要依赖于MIDP的`javax.microedition.lcdui`包,包括`Canvas`类用于自定义绘图和`Graphics`对象进行图形绘制。游戏中的动画通常通过定时器更新画面和物体位置来实现。 4. **...

    Nokia S40 MIDP java文档API(chm)

    开发者可以通过`javax.microedition.lcdui`包中的类来创建和管理用户界面。 2. **网络连接(Connection)**:MIDP支持无线应用协议(WAP)和通用互联网协议(TCP/IP),使得MIDlet(MIDP应用程序)能够通过手机的...

    J2ME平台的RSSReader

    4. **用户界面**:J2ME的用户界面构建通常基于`MIDP`(Mobile Information Device Profile)提供的`javax.microedition.lcdui`包。开发者可以创建`Form`、`List`、`TextBox`等组件,结合`Command`来处理用户交互。 ...

    J2ME编译文档

    2. **javax.microedition.lcdui**: 用户界面(UI)套件,提供了基本的图形用户界面组件,如Display、Form、Item和ChoiceGroup等。 3. **javax.microedition.io**: 连接套件,负责网络通信,如HttpConnection和...

Global site tag (gtag.js) - Google Analytics