键盘监听例子

package com.test;

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

class MyKeyTest  extends JFrame implements KeyListener	{
	
	private String type = "f1";
	private JTextArea text = new JTextArea();
	public MyKeyTest(){
		super.setTitle("test");
		JScrollPane jsp = new JScrollPane(text);
		jsp.setBounds(2, 2,400, 200);
		super.add(jsp);
		text.addKeyListener(this);
		super.setSize(310,210);
		super.setVisible(true);
		super.addWindowListener(new WindowAdapter(){
			//覆写窗口关闭方法
			public void windowClosing(WindowEvent argo){
				System.exit(1);
			}
		});
	}
	
	@Override
	public void keyTyped(KeyEvent e) {
		// TODO Auto-generated method stub
		text.append("输入:"+e.getKeyChar()+"\n");
	}

	@Override
	public void keyPressed(KeyEvent e) {
		// TODO Auto-generated method stub
		text.append(KeyEvent.getKeyText(e.getKeyCode())+"键按下\n");
		if(KeyEvent.getKeyText(e.getKeyCode()) == type){
			System.out.println("hahahahaha");
		}
	}

	@Override
	public void keyReleased(KeyEvent e) {
		// TODO Auto-generated method stub
		text.append(KeyEvent.getKeyText(e.getKeyCode())+"键松开\n");

	}
	
}
public class MyKeyEventTest{
	public static void main(String[] args){
		new MyKeyTest();
	}
}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,可以通过使用java.awt.event包中的KeyListener接口来实现全局键盘监听事件。以下是一个简单的例子: ```java import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class GlobalKeyListener implements KeyListener { @Override public void keyPressed(KeyEvent e) { // 处理按键按下事件 System.out.println("Key pressed: " + e.getKeyCode()); } @Override public void keyReleased(KeyEvent e) { // 处理按键释放事件 System.out.println("Key released: " + e.getKeyCode()); } @Override public void keyTyped(KeyEvent e) { // 处理按键输入事件 System.out.println("Key typed: " + e.getKeyChar()); } public static void main(String[] args) { // 注册全局键盘监听器 java.awt.Toolkit.getDefaultToolkit().addAWTEventListener(new java.awt.event.AWTEventListener() { public void eventDispatched(AWTEvent event) { if (event instanceof KeyEvent) { KeyEvent keyEvent = (KeyEvent)event; if (keyEvent.getID() == KeyEvent.KEY_PRESSED) { // 处理按键按下事件 keyPressed(keyEvent); } else if (keyEvent.getID() == KeyEvent.KEY_RELEASED) { // 处理按键释放事件 keyReleased(keyEvent); } else if (keyEvent.getID() == KeyEvent.KEY_TYPED) { // 处理按键输入事件 keyTyped(keyEvent); } } } }, java.awt.AWTEvent.KEY_EVENT_MASK); } } ``` 在上述代码中,我们实现了KeyListener接口,并重写了keyPressed、keyReleased和keyTyped方法来处理键盘按键事件。我们还注册了一个全局键盘事件监听器,使用java.awt.Toolkit.getDefaultToolkit().addAWTEventListener方法来添加AWTEventListener实例,该实例监听所有AWT事件并判断是否为键盘事件,如果是,则调用对应的KeyListener方法进行处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值