|
您的位置是:
软件 >
开发者网络 >
开发工具 >
移动开发 >
正文
Java嵌入式开发之六 2001-10-18■作者: 郑伟■出处: yesky |
|
| 前面我用了很大的篇幅介绍如何使用J2ME开发运行于移动设备上的应用程序,并且在我第一篇文章中我在谈论开发Palm应用程序可以使用的解决方案时也提到了其他几种方案。本文中我们将开始学习Waba,学习使用它编写运行于Palm上的应用程序。Waba是一种源码开放、很像Java的语言。如果你了解 Java,你就能知道Waba的语法。 第一节 用户界面控件 让我们从用户界面类开始学习Waba,因为一个PDA上很少有程序在没有用户界面的情况下可用,然后我们再谈谈Waba种的数据持久性。构建图形用户界面的大部分类都包含在 waba.ui包中。这些类的继承层次结构非常像 Java的 AWT。当然,它们全部都是扩展 java.lang.Object和 waba.ui.Control。我建议你参照 waba.ui程序包的文档来弄明白用于执行像放置一个控件、使它可见等常见任务的静态数据成员和方法。下面的类扩展了waba.ui.Control: Button --命令按钮 Check --复选框控件 Container --另外一个控件的容器 (类似于 AWT Panel或一个 Swing Jpanel )。 Edit --一个文本输入编辑控件 (类似于 TextField ) Label --标签控件 MainWindow --指向一个基于用户界面的应用程序的主要输入端。所有的 GUI应用程序都必须有。 Radio --单选按钮。 TabBar/Tab/TabPanel -- TabBar是用于选项卡的容器。 作为这些类的祖先, Control类包括用于事件处理和绘画控制的方法。让我们看一个简单的 Waba应用程序的例子。这个 Waba应用程序能够提示使用者一些信息,在本例中,在一个联系管理器中查寻一个名字。
这个类的代码是
首先,我们导入 waba.ui包,因为所有的用户界面类都在那里。这个类是扩展 MainWindow。每个有用户界面的 Waba应用程序都必须扩展 MainWindow。接下来,我们声明需要的变量:一个 Edit、一个 Label和一个 Button。在构造程序中,我们调用 setTitle和 setBorder,然后启动每一个 GUI组件。注意,我们还可以使用控件的绝对位置。这是 Waba和 Java之间的一个区别。这里没有布局管理器的概念,我们把 x和 y坐标以及控件的宽度和高度传递进程序,这个控件就被放置在屏幕上的这个位置。 Waba的另一特色是一个模拟的 Palm键盘,如下图所示:
最后, onEvent方法进行事件处理:首先,这个事件对象本身被查询,以确定事件类型。在本例中我们想知道它是否是一个 PRESSED事件。(其他类型包含 FOCUS_IN、 FOCUS_OUT、 TIMER和 WINDOW_CLOSED )。这些都定义在 ControlEvent类中,是扩展事件。如果这个事件和我们要寻找的事件类型匹配,然后我们就可以确定激活事件的对象。在我们的 ContactManager应用程序中,我们只有要响应按钮按下的动作。所以如果用户轻点按钮激活事件,然后我们就可以执行代码来查寻目录中的姓名。 定义在 MainWindow类中的其他有用的方法是 onStart和 onExit。onStart方法可能包括初始化代码;它在构造程序完成之后被调用。应用程序退出先要调用onExit方法,这时可以执行必要的清理工作比如写入未保存的数据。 【责任编辑:方舟】
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||