`
witcheryne
  • 浏览: 1094618 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

使用KeyNav为UI Component添加键盘事件

阅读更多

    这两天项目需要为一些组件添加快捷键的操作. 可是有些组件比提供键盘事件的支持,但是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组件添加键盘事件:

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 ...  键盘添加完成...

1
0
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    keynavish:在Windows上使用键盘控制鼠标

    在Windows上,用键盘控制鼠标。 这是Windows的的重写。 它与原始版本(模)完全兼容,因此您可以对两个程序使用相同的配置文件。 keynavish可在Windows XP和更高版本上运行,但仅正式支持仍能从Microsoft获得支持...

    keynav:一个 Thunderbird 插件,允许通过键入部分或全部文件夹名称来快速导航文件夹树

    #快速文件夹键导航(keynav) ##描述 这是 Thunderbird 的附加组件,当文件夹树具有焦点时,它允许通过键入部分或全部文件夹名称来快速导航文件夹树。 ##获取附加组件 获得快速文件夹键导航的最简单方法是从 ...

    Ext Js权威指南(.zip.001

    5.3.2 为组件添加事件接口:ext.util.observable / 188 5.3.3 为组件绑定事件 / 189 5.3.4 内部事件的触发过程 / 192 5.3.5 移除事件 / 194 5.4 特定功能的事件对象 / 196 5.4.1 延时任务:ext.util....

    ExtJSWeb应用程序开发指南(第2版)

    6.14.2 给对象添加键盘绑定 6.14.3 废弃已绑定到KeyMap的配置 6.14.4 将KeyMap或废弃的配置重新生效 6.14.5 获取当前KeyMap配置是否为有效 6.14.6 事件绑定函数 6.15 本章小结 第7章 让ExtJS开始响应事件 第...

    zh-cn.js中文化

    zh-cn.js中文化

    jquery.dropdown:可定制的风格化下拉菜单

    jquery.dropdown-jQuery插件 基本用法: 在页面中包含JS和CSS,并调用dropdown jQuery方法来格式化select输入。 $ ( 'select' ) .... keyNav : true // navigate through list items using the keyboard ar

    corebird:本机Gtk + Twitter客户端

    酷鸟 ...捷径 钥匙 描述 Ctrl + t 撰写推文 Back 向后翻一页(可以通过键盘上的“后退”...当一条推文被关注时(通过keynav): r回复 tt转推 f最爱 q报价 dd删除 Return -显示推文详细信息 翻译 翻译是通过的处理的

    Ext深入浅出 数据传输

    12.6 为表单添加提交事件............................. 332 12.7 清空表单信息........................................ 335 12.8 删除指定的学生信息............................. 336 12.9 在Grid和Form之间...

    EXT核心API详解

    15、Ext.Fx类 …………………………… 16 16、Ext.KeyNav类 ……………………… 19 17、Ext.KeyMap类 …………………… 19 18、Ext.util.JSON类 ……………………… 20 19、Ext.util.Format类 ………………… 20 20...

    ExtJS入门教程(超级详细)

    15、Ext.Fx类 …………………………… 16 16、Ext.KeyNav类 ……………………… 19 17、Ext.KeyMap类 …………………… 19 18、Ext.util.JSON类 ……………………… 20 19、Ext.util.Format类 ………………… 20 20...

Global site tag (gtag.js) - Google Analytics