键盘驱动组件事件

如何利用键盘驱动组件事件???

1:使用组件提供的getInputMap()返回一个InputMap对象,

   该对象用于将KeyStroke对象(代 表键盘或者其他的输入事件)和名字关联起来;

2:使用组件的getActionMap()返回一个ActionMap对象,

   该对象用于将指定的名字与事件Actioc联系起来ActionActionListener的子接口)


 

1:jtf.getInputMap().put(keyStrokename);

2jtf.getActionMap().put(name, action);

Demo1

public class BindKey extends JFrame {

	JTextArea jta=new JTextArea(5,30);
	JButton btn=new JButton("发送");
	JTextField jtf=new JTextField(15);
	
	public BindKey()
	{
		this.add(jta);
		JPanel jp=new JPanel();
		jp.add(jtf);
		jp.add(btn);
		this.add(jp,BorderLayout.SOUTH);
		/**
		 * Action是ActionListener的子接口
		 */
		Action sentMsg=new AbstractAction() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				jta.append(jtf.getText()+"\n");
				jtf.setText("");
			}
		};

		btn.addActionListener(sentMsg);
	//	jtf.getInputMap().put(keyStroke, name);
		jtf.getInputMap().put(KeyStroke.getKeyStroke('\n', java.awt.event.InputEvent.CTRL_MASK), "send");
	///	jtf.getActionMap().put(name, action);
		jtf.getActionMap().put("send",sentMsg);
		this.pack();
		this.setTitle("键盘与事件的绑定");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}
			
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		BindKey b=new BindKey();
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值