不会没人会吧?
还是不屑于如此简单的问题?我是用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, ????);
我是想这样写,,,但是???那里我不知道该怎么写了。
还是不屑于如此简单的问题?我是用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, ????);
我是想这样写,,,但是???那里我不知道该怎么写了。
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等