WEB开发网
开发学院软件开发Java Flex Accessibility 全键盘支持和扩展 阅读

Flex Accessibility 全键盘支持和扩展

 2010-07-23 00:00:00 来源:WEB开发网   
核心提示: 清单 7. AccHBox 类publicclassAccHBoxextendsHBoximplementsIFocusManagerComponent{/***继承IFocusManagerComponent接口并设置tabEnabled,focusEnabled和tabChildren属性为

清单 7. AccHBox 类

public 
classAccHBox extendsHBox implementsIFocusManagerComponent 
 { 
 /** 
 * 继承 IFocusManagerComponent 接口并设置 tabEnabled,focusEnabled 和 tabChildren 属性为 true 使 
 * AccHBox 类可以接受焦点,并且它的孩子也都可以接受焦点 
 */ 
 public 
 functionAccHBox() 
  { 
 Super(); 
 this.focusEnabled = true; 
 this.tabEnabled = true; 
 this.tabChildren = true; 
  } 
  
 /** 
 * 覆写 focusInHandler 函数改变 HBox 的默认行为,默认焦点在最后一个孩子 
 */ 
 override 
 protected 
 functionfocusInHandler(event:FocusEvent):void 
  { 
 super.focusInHandler(event); 
 if(this.numChildren <= 0) return; 
 varlastChild:DisplayObject = this.getChildAt(this.numChildren-1); 
 if(lastChild isIFocusManagerComponent) 
  { 
 this.focusManager.setFocus(IFocusManagerComponent(lastChild)); 
  } 
  } 
  }

keyDownHandler(event:KeyboardEvent) 和 keyUpHandler(event:KeyboardEvent)

之前介绍的所有的类和方法都与焦点有关,因为全键盘支持的关键就在焦点,组件只有在获得焦点后才能接受键盘的操作。对键盘操作的处理可以在 keyUpHandler 和 keyDownHandler 方法中实现。keyDownHandler 是 key Down 事件调用的事件处理函数,keyUpHandler 是 Key Up 事件调用的事件处理函数。基本上所有实现了 IFocusManagerComponent 接口的组件都覆写了这两个方法以实现键盘操作的支持。Flex 的全键盘支持有一套自己的规则,如一般的 Web 应用都会使用 Enter 键作为用户选择执行操作的键,Flex 则使用 Space 键(某些组件同时支持 Enter 和 Space),在开发 Flex 应用的时候要充分考虑到整个应用全键盘支持的一致性,所以建议在用户自定义的组件中同时支持 Space 键和 Enter 键或者只支持 Space 键,如果用户想只支持 Enter 键,那么需要覆写 Flex 所有不支持 Enter 键的组件以实现应用级的一致性,这显示是不可取的。以之前的 AccImage 为例,我们实现可以接受键盘操作的 AccImage.

上一页  4 5 6 7 8 9 10  下一页

Tags:Flex Accessibility 键盘

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接