`
witcheryne
  • 浏览: 1099118 次
  • 性别: 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.net常见问题收集

    另外,使用`KeyNav`组件可以控制键盘导航,例如`&lt;ext:KeyNav ID="keynav1" runat="server" Target="#{txtPassword}"&gt;`,并配置`Enter`或`Tab`等按键的行为。 这些是EXT.NET中常见的问题及其解决方法,它们涉及到...

    extapi

    这些都是EXT提供的高级功能,如KeyNav和KeyMap用于控制键盘事件,JSON Format用于美化JSON数据,DelayedTask和TaskRunner用于定时任务,TextMetrics用于计算文本宽度,而XTemplate则是一种强大的数据绑定模板。...

    EXTJSWL********

    通过KeyNav,你可以轻松地为组件绑定键盘事件,例如导航、选择等。而`KeyMap`则是一个更基础的类,它允许开发者直接映射键盘事件到函数,提供了更灵活的键盘事件处理方式。 2. **JSON Format** JSON(JavaScript ...

    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....

    extjs实例说明详解

    8. **Ext.KeyNav和KeyMap**:它们允许你为组件定义键盘导航规则,增强Web应用的可访问性。在“EXT核心API详解(七)-Ext.KeyNav KeyMap JSON Format DelayedTask TaskRunner TextMetrics XTemplate.txt”中,你将学习...

    tinymce插件开发

    - **复制模板插件**:为了快速启动开发,可以复制`template`目录并重命名为所需的新插件名称,例如“plugintest”。 - **修改文件名**: - 将`template.htm`重命名为代表新插件的文件名,如`testp.htm`。 - 同样地...

    Ext API详解--笔记

    在`EXT核心API详解(三)-Ext.Element.txt`中,你将了解到如何选择元素、添加和移除CSS类、处理事件、动画效果以及布局调整。 2. **Array, Date, Function, Number, String**: 在`EXT核心API详解(二)-Array Date ...

    EXTJS___API详解

    16. **Ext.KeyNav 和 Ext.KeyMap 类**:实现了键盘导航和键绑定功能,增强了可访问性。 17. **Ext.util.JSON 类**:JSON序列化和反序列化的工具类。 18. **Ext.util.Format 类**:包含各种数据格式化方法,如日期...

    EXT核心API详解.doc

    15. **Ext.KeyNav类**和**KeyMap类**:实现了键盘导航和按键映射功能,增强用户交互体验。 16. **Ext.util.JSON类**:JSON序列化和反序列化的工具类。 17. **Ext.util.Format类**:提供了各种数据格式化功能,如...

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

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

    整理的Ext API详解

    最后,"EXT核心API详解(七)-Ext.KeyNav KeyMap JSON Format DelayedTask TaskRunner TextMetrics XTemplate.txt"涵盖了键盘导航(KeyNav)、键映射(KeyMap)等高级交互功能,JSON格式处理,延迟任务(DelayedTask)...

    zh-cn.js中文化

    zh-cn.js中文化

    jQuery电梯式滚动效果插件Ascensor特效代码

    Ascensor插件的核心功能在于将网页的各个部分划分为“楼层”,用户可以通过点击楼层按钮或使用键盘导航在这些楼层之间平滑地上下移动。这种效果为用户提供了一种全新的浏览方式,使得内容呈现更加有层次感和吸引力...

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

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

Global site tag (gtag.js) - Google Analytics