探索J2ME:创建开销细节表单

ZDNet软件频道 时间:2005-06-06 作者:builder |  我要评论()
本文关键词:j2me
本文接着介绍用来编辑现有开销项目或者添加新项目的详细情况,由此令开发人员从此步入Item组件一族的殿堂。
Sun推出的Java 2 Micro Edition (j2me) 可以让开发人员创建专用于各类手持设备的应用程序,比如传统的PDA到所谓的智能电话等。为了利用MIDP(Mobile Information Device Profile:移动信息设备框架)向读者介绍j2me的开发知识,我将引领读者了解和掌握一个完整j2me应用程序的创建过程,这一程序在本系列文章中都被命名为Expenses。

上一篇文章里我向读者介绍了Expenses采用的主要MIDlet,同时还讨论了两种lcdui用户界面组件: CommandList。本文接着介绍用来编辑现有开销项目或者添加新项目的详细情况,由此令开发人员从此步入Item组件一族的殿堂。

现在我们就开始编程!首先下载 Expenses的升级源代码,然后看看新的DetailForm表单,如图A中的DefaultGrayPhone模拟器所示。

图A

新的细节表单

首先让我们查看新表单,然后是Expenses类,最后在应用程序中编写DetailForm

设计新表单

DetailForm扩展了Form基类(而后者又扩展了Screen,所以该类包含了其他组件)并且实现了commandListenerItemStateListener接口,同时可以处理自己的事件。假如你已经阅读过相应的代码,那么你应该注意到DetailForm的API中有个setDestroyListener方法,该方法接受一个类实例,而这个类实例则实现了可定制的DestroyListener接口。初始化lcdui所采用的事件通知机制就可以通知DetailForm的控制MIDlet (用户已经完成了该组件,它要用到该表单)。一旦MIDlet收到事件,它就会使用Display.setCurrent 激活其他Screen组件。

为什么我要不厌其烦地讨论事件机制的细节呢?这是因为我想更多地用到DetailForm表单而非仅仅一个MIDlet,当然,最开始还是先让咱们看看Items

查看构造器

DetailForm的构造器代码如程序清单A所示。这个构造器以ExpenseInfo的一个实例作为其参数,这样我就可以处理现有项目的编辑功能,同时还可以在同一代码的基础之上创建新项目。DetailForm通过对基类Form构造器的调用设置其名称,然后创建4个 Item用户界面组件,它们是一个DateField、两个TextFields和一个ChoiceGroup,其功能就是显示ExpenseItem的有关信息,另外还要加上两个Commands。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134