您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 嵌入式开发 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

Java嵌入式开发之六
2001-10-18· ·郑伟··yesky

1 2 3 4 5  下一页


  
使用Waba开发Palm程序


 

  前面我用了很大的篇幅介绍如何使用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应用程序能够提示使用者一些信息,在本例中,在一个联系管理器中查寻一个名字。



  这个类的代码是

import waba.ui.*;
public class ContactManager extends MainWindow
{
 Edit edit;
 Label label;
 Button button;
 public ContactManager()
 {
  setTitle("Contact Manager");
  setBorderStyle(Window.RECT_BORDER);
  label = new Label("Enter name to search for:");
  label.setRect(5, 65, 110, 15);
  add(label);
  Edit edit = new Edit();
  edit.setRect(55, 80, 60, 15);
  add(edit);
  button = new Button("Find");
  button.setRect(65, 110, 30, 15);
  add(button);
 }public void onEvent(Event event)
 {
  if (event.type == ControlEvent.PRESSED)
  {
   if (event.target == button)
   {
    .......
   }
  }
   }}

  首先,我们导入 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方法,这时可以执行必要的清理工作比如写入未保存的数据。

1 2 3 4 5  下一页

【责任编辑:方舟】
【发表评论】【关闭窗口】
■ 相关内容
 如何从MIDlet中调用JSP页面
 如何从MIDlet中调用JSP页面
 嵌入式系统:后PC时代的擎天之柱
 让JavaScript为你的网页增彩
 Java嵌入式开发之五
 Java嵌入式开发之四
 Java嵌入式开发之三
 Java嵌入式开发之二
 Java嵌入式开发之一
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!