BlackBerry应用开发指南 监听UI对象的改变
创始人
2024-07-26 02:20:59
0

UI EventListeners 允许应用程序响应一个 UI 对象的改变。这里有 3 种类型的 UI 事件监听者 :

监听 field 属性的变化

为了监测 field 的变化,实现 FieldChangeListener 接口。调用 setChangeListener()来把你的实现指派给一个 field。

  1. private class  
  2. FieldListener  implements implements implements  
  3. implements  
  4. FieldChangeListener  {  
  5. public void  
  6. fieldChanged(Field ,  int context)  {  
  7. if  
  8. (context  !=  FieldChangeListener.PROGRAMMATIC)  {  
  9. //  Perform  action  if  user  changed  field.  
  10. }  
  11. else {  
  12. //  Perform  action  if  application  changed  field.  
  13. }  
  14. }  
  15. }  
  16. //  ...  
  17. FieldListener  myFieldChangeListener  =  new  FieldListener()  
  18. myField.setChangeListener(myFieldChangeListener); 

#p#

监听焦点的改变

为了监测 field 之间焦点的改变,指派给他们一个 FocusChangeListener 。实现这个FocusChangeListener,然后通过调用 setChangeListener()把你的实现指派给一个 Field。一个FocusChangeListener 关心一个与之相关的明确的 Field 的焦点的获取,失去或改变。

当 field 通过实现 focusChanged()获取,失去或改变焦点时,  FocusChangeListener 的实现应该指明 field 将采取什么样的动作。

  1. private class  
  2. FocusListener  implements implements implements  
  3. implements  
  4. FocusChangeListener  {  
  5. public  void  
  6. focusChanged(Field  field,  int  eventType)  {  
  7. if  
  8. (eventType  ==  FOCUS_GAINED)  {  
  9. //  Perform  action  when  this  field  gains  the  focus.  
  10. }  
  11.  
  12. if  
  13. (eventType  ==  FOCUS_CHANGED)  {  
  14. //  Perform  action  when  the  focus  changes  for  this  field.  
  15. }  
  16.  
  17. if  
  18. (eventType  ==  FOCUS_LOST)  {  
  19. //  Perform  action  when  this  field  loses  focus.  
  20. }  
  21. }  
  22. }  
  23. FocusListener  myFocusChangeListener  =  new  FocusListener();  
  24. myField.setChangeListener(myFocusChangeListener); 

#p#

监听滚动事件

ScrollChangeListener 接口的实现允许你的 field 管理器管理滚动事件,调用 setScrollListener()将你的实现给一个 Manager。当水平或垂直的(或都有)滚动值发生变化时,scrollChanged()方法传递一个新的值。

(注:典型地,监听滚动变化没有必要,因为你的应用程序可以监听 field 的焦点变化;尽管这样,ScrollChangeListener 在游戏实现中可能有用。)

为将监听者指派给一个 field,调用 field 管理器上的 setScrollListener().

  1. private class  
  2. ScrollListener  implements implements implements  
  3. implements  
  4. ScrollChangeListener  {  
  5. scrollChanged(Manager  manager,  int newHoriztonalScroll,  int   newVerticalScroll){  
  6. //  Perform  action.  
  7. }  
  8. }  
  9. ScrollListener  myScrollChangeListener  =  new  ScrollListener();  
  10. myManager.setScrollListener(myScrollChangeListener); 

【编辑推荐】

  1. BlackBerry应用开发指南 使用图像对象画图
  2. BlackBerry应用开发指南 UI设计之图片操作
  3. BlackBerry应用开发者指南 创建客户定制的UI组件
  4. BlackBerry应用开发者指南 UI API篇之管理UI组件
  5. BlackBerry应用开发者指南 UI API篇之显示UI组件

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...