BlackBerry应用开发指南 监听UI对象的改变

移动开发
本文为《BlackBerry应用开发指南》UI设计篇的最后一章——监听UI对象的改变,UI EventListeners 允许应用程序响应一个 UI 对象的改变。这里有 3 种类型的 UI 事件监听者 :监听 field 属性的变化、监听焦点的改变和监听滚动事件。

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组件
责任编辑:佚名 来源: 网络整理
相关推荐

2011-04-15 15:16:28

使用图像对象画图BlackBerry

2011-04-15 14:22:20

图片操作UIBlackBerry

2011-04-18 11:00:34

使用音频BlackBerry

2011-06-07 09:10:41

BlackBerry 开发

2011-04-14 10:05:16

BlackBerry

2011-04-14 10:03:32

UI组件BlackBerry

2011-04-14 10:34:08

BlackBerry

2011-04-13 09:55:16

Mail APIBlackBerry

2011-04-13 13:38:57

选项APIBlackBerry

2011-04-13 11:31:06

PIM APIBlackBerry

2011-04-02 13:44:08

2011-12-05 15:44:45

Knockout

2012-01-04 16:21:11

2011-12-05 14:50:13

Knockout

2011-11-29 16:38:58

Knockout

2011-04-13 14:10:27

.alx文件BlackBerry

2010-05-22 16:57:09

BlackBerry开

2010-04-02 17:45:22

Black Berry

2011-11-29 16:56:30

Knockout

2011-11-30 16:29:41

点赞
收藏

51CTO技术栈公众号