zoukankan      html  css  js  c++  java
  • e856. 列出一个组件的所有事件

    This example demonstrates how to list all the actions in a component.

        ActionMap map = component.getActionMap();
        
        // List actions in the component
        list(map, map.keys());
        
        // List actions in the component and in all parent action maps
        list(map, map.allKeys());
        
        public static void list(ActionMap map, Object[] actionKeys) {
            if (actionKeys == null) {
                return;
            }
            for (int i=0; i<actionKeys.length; i++) {
                // Get the action bound to this action key
                while (map.get(actionKeys[i]) == null) {
                    map = map.getParent();
                }
                Action action = (Action)map.get(actionKeys[i]);
            }
        }
    

    A text component not only has an action map with actions, it also has keymaps with actions. Moreover, every keymap has a default action to handle any typed character key events not handled by any input map or keymap. The following code retrieves actions from these objects:

        // List the actions in the keymaps
        if (component instanceof JTextComponent) {
            JTextComponent textComp = (JTextComponent)component;
            Keymap keymap = textComp.getKeymap();
        
            while (keymap != null) {
                // Get actions in the keymap
                Action[] actions = keymap.getBoundActions();
                for (int i=0; i<actions.length; i++) {
                    Action action = actions[i];
                }
        
                // Get the default action in the keymap
                Action defaultAction = keymap.getDefaultAction();
                keymap = keymap.getResolveParent();
            }
        }
    
    Related Examples
  • 相关阅读:
    java中浮点数的比较(double, float)(转)
    SVN与TortoiseSVN实战:补丁详解(转)
    常见名词解析
    SSL连接建立过程分析(1)
    Flash-使用变形面板制作花朵
    使用ReactiveCocoa实现iOS平台响应式编程
    【LaTeX排版】LaTeX论文排版&lt;三&gt;
    angularjs入门学习【指令篇】
    理解class.forName()
    malloc()与calloc差别
  • 原文地址:https://www.cnblogs.com/borter/p/9596127.html
Copyright © 2011-2022 走看看