Java 处理大量的键映射

Java 处理大量的键映射,java,swing,keyboard-shortcuts,key-bindings,actionevent,Java,Swing,Keyboard Shortcuts,Key Bindings,Actionevent,为Swing中的组件定义大量键映射的操作的最佳方法是什么 我在Swing中构建了自己的文本视图,并希望为许多键定义操作。我目前的做法(到目前为止大约有10个键)是: 这显然是定义键绑定的一种非常冗长的方式。理想情况下,我将能够定义一个处理许多可能性的操作(例如[A-Z]或[0-9])。我在OpenJDK中搜索过定义,但没有找到太多 运用这一原则避免重复的荣誉。引用了几个干式操作的示例,但常见的线程是共享一个公共模型的操作,例如文档,或由一组相关按钮共享的操作。put all,将一个数组用于普通键

为Swing中的组件定义大量键映射的操作的最佳方法是什么

我在Swing中构建了自己的文本视图,并希望为许多键定义操作。我目前的做法(到目前为止大约有10个键)是:


这显然是定义键绑定的一种非常冗长的方式。理想情况下,我将能够定义一个处理许多可能性的操作(例如[A-Z]或[0-9])。我在OpenJDK中搜索过定义,但没有找到太多

运用这一原则避免重复的荣誉。引用了几个干式操作的示例,但常见的线程是共享一个公共模型的操作,例如
文档
,或由一组相关按钮共享的操作。

put all,将一个数组用于普通键[a-Z]/[0-9],第二个数组用于修改器+键(例如ALT+[a-Z]/[0-9]),等等。要使用的是/setEnabled,用于XXX操作
ActionMap actionMap = DBDocument.this.getActionMap();
int condition = JComponent.WHEN_FOCUSED;
InputMap inputMap = DBDocument.this.getInputMap(condition);
String tab = "tab";
actionMap.put(tab, new AbstractAction() {
            private static final long   serialVersionUID    = 1L;
            @Override
             public void actionPerformed(ActionEvent ap) {
                if(mDocumentModel != null){
                    //Do some stuff here
                }
             }
          });