不会没人会吧?
还是不屑于如此简单的问题?我是用jdk + notepad,请告诉我代码怎么写
jtextarea1 = new JTextArea(6, 9);
Keymap    parent = jtextarea1.getKeymap();
Keymap    map    = jtextarea1.addKeymap("StyleMap", parent);
KeyStroke run   = KeyStroke.getKeyStroke("control R");
map.addActionForKeyStroke(run, ????);
我是想这样写,,,但是???那里我不知道该怎么写了。

解决方案 »

  1.   

    首先引入包
    import javax.swing.event.*;
    然后定义一个
        KeyStroke stroke1 = KeyStroke.getKeyStroke     (KeyEvent.VK_ENTER,ActionEvent.CTRL_MASK,true);//创建一个KeyStroke类
        最后一个参数的意思是是否在Keyrelease时触发此事件
        JEditorPane jEditorPane1 = new JEditorPane();   jEditorPane1.registerKeyboardAction(new ActionListener(){
                //要执行的方法
                public void actionPerformed(ActionEvent e){
                    System.out.println("OK");
                }
            },stroke1,JComponent.WHEN_IN_FOCUSED_WINDOW);
        }
        registerKeyboardAction方法的参数意思是这样的
        1.ActionListener对象,可以定义你要执行的方法
        2.KeyStroke 对象,定义触发事件的条件
        3.何时按Ctrl+Enter时发生此事件,比如
            JComponent.WHEN_IN_FOCUSED_WINDOW
            JComponent.WHEN_FOCUSED等