e860. 列出组件绑定的键盘键

This example demonstrates how to list all the key bindings in a component. Text components have an additional set of key bindings called a keymap. See e1005 列出JTextComponent中键盘映射绑定的键 for an example on how to list those key bindings.

    // List keystrokes in the WHEN_FOCUSED input map of the component
    InputMap map = component.getInputMap(JComponent.WHEN_FOCUSED);
    list(map, map.keys());
    // List keystrokes in the component and in all parent input maps
    list(map, map.allKeys());

    // List keystrokes in the WHEN_ANCESTOR_OF_FOCUSED_COMPONENT input map of the component
    map = component.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
    list(map, map.keys());
    // List keystrokes in all related input maps
    list(map, map.allKeys());

    // List keystrokes in the WHEN_IN_FOCUSED_WINDOW input map of the component
    map = component.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
    list(map, map.keys());
    // List keystrokes in all related input maps
    list(map, map.allKeys());

    public static void list(InputMap map, KeyStroke[] keys) {
        if (keys == null) {
            return;
        }
        for (int i=0; i<keys.length; i++) {
            // This method is defined in e859 将键盘事件和字符串对应
            String keystrokeStr = keyStroke2String(keys[i]);

            // Get the action name bound to this keystroke
            while (map.get(keys[i]) == null) {
                map = map.getParent();
            }
            if (map.get(keys[i]) instanceof String) {
                String actionName = (String)map.get(keys[i]);
            } else {
                Action action = (Action)map.get(keys[i]);
            }
        }
    }
Related Examples

原文地址:https://www.cnblogs.com/borter/p/9596129.html

时间: 2024-11-05 20:36:02

e860. 列出组件绑定的键盘键的相关文章

GUI按键绑定到键盘和打印组件

首先说明一点 按键绑定到键盘和设置快捷键是不一样的 按键绑定键盘是按键有了和button一样的功能,没有焦点时也能使用(WHEN_IN_FOCUSED_WINDOW),甚至有时候单独作为一个事件(有自己独立的AbstractAction子类的时候 设置快捷键紧紧是设置了快捷键(有点牵强) 键盘事实使用的监视器更加严格,是ActionListener的子接口Action, 不过AbstractAction类已经帮我实现了,我们只需要像以前那样extends AbstractAction,然后重写A

Vue组件绑定自定义事件

Vue组件使用v-on绑定自定义事件: 可以分为3步理解: 1.在组件模板中按照正常事件机制绑定事件: template: '<button v-on:click="increment">{{ counter }}</button>', 如上,v-on:click就是用来给子组件绑定点击事件的,这就是原生的自带的事件,容易理解. 2.子组件的事件发生时,在事件函数中向父组件"报告"这一事件(使用$emit): methods: { incre

【已解决】iView-admin Editor 组件 绑定默认值问题

iView-admin Editor 组件 绑定默认值问题 发现 editor 组件,设置v-model 后, 修改 v-model 数据, editor组件没有自动渲染,需要手动设置渲染  this.$refs.editor.setHtml(this.model.description) <template> <div> <editor v-model="model.description" ref="editor" :cache=&

键盘键的功能

F1帮助 F2改名 F3搜索 F4地址 F5刷新 F6切换 F10菜单 CTRL+A全选 CTRL+C复制 CTRL+X剪切 CTRL+V粘贴 CTRL+Z撤消 CTRL+O打开 SHIFT+DELETE永久删除 DELETE删除 ALT+ENTER属性 ALT+F4关闭 CTRL+F4关闭 ALT+TAB切换 ALT+ESC切换 ALT+空格键窗口菜单 CTRL+ESC开始菜单 拖动某一项时按CTRL复制所选项目 拖动某一项时按CTRL+SHIFT创建快捷方式 将光盘插入到CD-ROM驱动器时

EasyUI ComboGrid的绑定,上下键和回车事件,输入条件查询

首先我们先看一下前台的绑定事件 1.先定义标签 <input id="cmbXm" type="text" style="width: 100px;" /> 2.cmbgrid的绑定方法,这里先全部列出代码,接下来我们分别看看各个属性的意思 $('#cmbXm').combogrid({ panelWidth: 570, idField: 'PATIENT_NO', textField: 'NAME', url: '/Ashx/yzx

js获取键盘键值

1.获取键盘的码值 function onkeydown_at_phone(event) { alert(event.keyCode);   } 2.对按钮进行监听 function onkeydown_at_phone(event) {   var prev = document.getElementById("prev");   var next = document.getElementById("next");   if(event.keyCode == 3

Python3 Tkinter基础 Frame bind 绑定敲击键盘事件 将按键打印到Shell中

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: from tkinter import * root=Tk() #创建一个框架,在这个框架中响应事件 frame=Frame(root, width=200,height=200, background='green') def callBack(event):

键盘键值表

  常数名称 十六进制值 十进制值 对应按键 VK_LBUTTON 01 1 鼠标的左键 VK_RBUTTON 02 2 鼠标的右键 VK-CANCEL 03 3 Ctrl+Break(通常不需要处理) VK_MBUTTON 04 4 鼠标的中键(三按键鼠标) VK_BACK 08 8 Backspace键 VK_TAB 09 9 Tab键 VK_CLEAR 0C 12 Clear键(Num Lock关闭时的数字键盘5) VK_RETURN 0D 13 Enter键 VK_SHIFT 10 16

键盘键值

描述\r 0x1 鼠标左键\r 0x2 鼠标右键\r 0x3 CANCEL 键\r 0x4 鼠标中键\r 0x8 BACKSPACE 键\r 0x9 TAB 键\r 0xC CLEAR 键\r 0xD ENTER 键\r 0x10 SHIFT 键\r 0x11 CTRL 键\r 0x12 MENU 键\r 0x13 PAUSE 键\r 0x14 CAPS LOCK 键\r 0x1B ESC 键\r 0x20 SPACEBAR 键\r 0x21 PAGE UP 键\r 0x22 PAGE DOWN