使用KeyNav为UI Component添加键盘事件
2016-07-29 00:00
507 查看
这两天项目需要为一些组件添加快捷键的操作. 可是有些组件比提供键盘事件的支持,但是Ext GWT中提供了KeyNav这个类来解决这个问题。
在这里先看一下API中对该类的描述:
GXT API KeyNav类描述 写道
public class KeyNav<E extends ComponentEvent>
extends BaseObservable
implements Listener<E>
Provides a convenient wrapper for normalized keyboard navigation. Provides an easy way to implement custom navigation schemes for any UI component.
该类为常用键盘响应事件提供了一个封装,为任何UI组件提供了响应键盘时间的解决方案。[根据自己的理解的意思翻译过来的]
在看下构造方法:
GXT API KeyNav 类构造方法描述 写道
Constructor Summary
KeyNav()
Creates a new KeyNav without a target component.
KeyNav(Component target)
Creates a new key nav for the specified target.
KeyNav(Component target) : 为指定的目标添加键盘事件监听(直译过来应该是: 键盘导航)
看到这里基本上知道KeyNav这个类如何使用了..
首先定义个KeyNav对象, 然后为该KeyNav对象指定UI组件。 然后重写KeyNav对象的相关方法即可..
下面一段代码段说明如何为FormPanel组件添加键盘事件:
Ok ... 键盘添加完成...
在这里先看一下API中对该类的描述:
GXT API KeyNav类描述 写道
public class KeyNav<E extends ComponentEvent>
extends BaseObservable
implements Listener<E>
Provides a convenient wrapper for normalized keyboard navigation. Provides an easy way to implement custom navigation schemes for any UI component.
该类为常用键盘响应事件提供了一个封装,为任何UI组件提供了响应键盘时间的解决方案。[根据自己的理解的意思翻译过来的]
在看下构造方法:
GXT API KeyNav 类构造方法描述 写道
Constructor Summary
KeyNav()
Creates a new KeyNav without a target component.
KeyNav(Component target)
Creates a new key nav for the specified target.
KeyNav(Component target) : 为指定的目标添加键盘事件监听(直译过来应该是: 键盘导航)
看到这里基本上知道KeyNav这个类如何使用了..
首先定义个KeyNav对象, 然后为该KeyNav对象指定UI组件。 然后重写KeyNav对象的相关方法即可..
下面一段代码段说明如何为FormPanel组件添加键盘事件:
FormPanel simple = new FormPanel(); KeyNav<ComponentEvent> keyNav = new KeyNav<ComponentEvent>(simple){ @Override public void handleEvent(ComponentEvent ce) { //Info.display("key", "" + ce.getKeyCode()); // 屏蔽其他特殊按键 if(!(ce.isAltKey() || ce.isRightClick() || ce.isShiftKey() || ce.isSpecialKey())) { // Ctrl + S 执行保存操作 (ce.isControlKey() && ce.getKeyCode() == 83) { //Info.display("key", "save"); } // Ctrl + X 执行新建操作 if(ce.isControlKey() && ce.getKeyCode() == 88) { //Info.display("key", "new"); } } } };
Ok ... 键盘添加完成...
相关文章推荐
- GUI - Web前端开发框架
- 评价ui设计作品好坏的八个标准(界面/交互设计研究)
- ext监听事件方法[初级篇]
- ext读取两种结构的xml的代码
- Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
- EXT富客户端后台管理系统 初步代码第1/2页
- ext实现完整的登录代码
- Ext第一周 史上最强学习笔记---GridPanel(基础篇)
- ext 列表页面关于多行查询的办法
- 用tip解决Ext列宽度不够的问题
- 为Yahoo! UI Extensions Grid增加内置的可编辑器
- Ext 今日学习总结
- Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
- Cocos2d-x UI开发之文本类使用实例
- 谈谈对jquery ui tabs 的理解
- JavaScript的Ext JS框架中的GridPanel组件使用指南
- Ext JS框架中日期函数的用法及日期选择控件的实现
- 在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
- Ext JS动态加载JavaScript创建窗体的方法
- UI Events 用户界面事件