package com.dhy.swing.test;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
public class BindKeyTest {
JFrame jf=new JFrame("测试键盘绑定");
JTextArea jta=new JTextArea(5,30);
JButton jb=new JButton("发送");
JTextField jtf=new JTextField(15);
public void init(){
jf.add(jta);
JPanel jp=new JPanel();
jp.add(jtf);
jp.add(jb);
jf.add(jp,BorderLayout.SOUTH);
//发送消息的Action,Action是ActionListener的子接口
Action sendMsg=new AbstractAction(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
jta.append(jtf.getText()+"\n");
jtf.setText("");
}
};
//添加时间监听
jb.addActionListener(sendMsg);
//将Ctrl+Enter键和"send"关联
jtf.getInputMap().put(KeyStroke.getKeyStroke('\n',java.awt.event.InputEvent.CTRL_MASK), "send");
//将"send"和sendMsg Action关联
jtf.getActionMap().put("send", sendMsg);
jf.pack();
jf.setVisible(true);
}
public static void main(String [] args ){
new BindKeyTest().init();
}
}
![这里写图片描述](http://img.blog.csdn.net/20161128222102782)
Swing键盘驱动
最新推荐文章于 2021-03-21 02:18:11 发布