您的位置:首页 > 其它

Swing键盘驱动

2016-11-28 22:21 134 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: