Board logo

标题: Java嵌入式开发Palm OS程序之一 01 [打印本页]

作者: samwalton    时间: 2014-3-25 17:11     标题: Java嵌入式开发Palm OS程序之一 01

面我用了很大的篇幅介绍如何使用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坐标以及控件的宽度和高度传递进程序,这个控件就被放置在屏幕上的这个位置。






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0