MIDlet的事件模型

javax.mircoedition.lcdui包实现了一个同时运行在高级API和低级API上的事件模型。它处理诸如用户交互之类的事件并请求重绘屏幕。当触发一个事件时,事件模型获得通知并通过相应的回调使MIDlet相应事件。一共有4种类型的UI事件:

  • 表示抽象命令的事件,作为高级API的一部分;
  • 表示按下或释放某个键的低级事件,或拥有鼠标的设备的鼠标事件;
  • 调用Canvas类的paint()方法的事件,可以通过一个repaint()调用产生;
  • 通过调用Display类的callSerially()来请求调用一个Runnable对象的run()方法。

所有的回调都是串行的,决不会并行执行。更确切地说,一个新的回调决不会在另一个回调正在运行的时候启动。下一个回调仅在前一个执行完毕后才会启动,即使在有一系列的事件需要处理的时候也是如此,不管是谁在何处使用,甚至一个事件回调方法本身就是调用者。

抽 象命令(abstract commands)仅仅通过语义上定义,用于避免不得不实现实际的命令按钮。Command(命令按钮)被附加在Displayable对象上,如高级的 List或Form对象,或低级的Canvas对象。addCommand()方法添加一个Command到Displayable对象上。 Command指定了标签、类型和优先级。CommandListener则实现了实际的命令处理。设备的本地风格可以决定哪些Command出现在UI 的什么位置。例如,"Exit"总是被放置在Nokia设备的右软键上方。

还有一些设备提供的操作能帮助操作一些高级API。例如,屏幕对象如List和ChoiceGroup有内键的事件能返回用户输入并交应用程序处理。

—摘自《Symbian OS J2ME编程指南》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值