简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键。比如:按下A控制台就输出A

效果如图:

JAVA监听键盘事件

以下把实现的效果分为几个步骤:

1.新建一个窗体类继承窗体;

2.给这个窗体添加addKeyListener(new MyKeyListener()),方法里面实例化监听键盘类;

3.新建一个键盘类继承KeyAdapter;

4.类里面的方法名必须是keyPressed(KeyEvent e);//KeyEvent就是jre对你按下/释放键盘按键的包装

5.实例化窗体类。

下面贴出上图实现的代码:

  1. importjava.awt.event.KeyAdapter;
  2. importjava.awt.event.KeyEvent;
  3. importjavax.swing.JFrame;
  4. /**
  5. *
  6. */
  7. /**
  8. *@authorAdministrator
  9. *
  10. */
  11. //窗体类
  12. publicclassMyFrameextendsJFrame{
  13. /**
  14. *@paramargs
  15. */
  16. charcharA;
  17. publicMyFrame(){
  18. this.setSize(500,100);
  19. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  20. this.setTitle("myjframe");
  21. this.setVisible(true);
  22. this.addKeyListener(newMyKeyListener());
  23. }
  24. publicstaticvoidmain(String[]args){
  25. //TODOAuto-generatedmethodstub
  26. newMyFrame();
  27. }
  28. }
  29. //监听键盘类
  30. classMyKeyListenerextendsKeyAdapter{
  31. publicvoidkeyPressed(KeyEvente){
  32. charcharA=e.getKeyChar();
  33. System.out.println("你按了《"+charA+"》键");
  34. }
  35. }
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;


/**
 * 
 */

/**
 * @author Administrator
 *
 */
//窗体类
public class MyFrame extends JFrame {

	/**
	 * @param args
	 */
	char charA;
	public MyFrame(){
		this.setSize(500,100);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setTitle("my jframe");
		this.setVisible(true);
		this.addKeyListener(new MyKeyListener());
		
		
	}
	
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new MyFrame();
	}

}
//监听键盘类
class MyKeyListener extends KeyAdapter{
	public void keyPressed(KeyEvent e){
		char charA=e.getKeyChar();
		System.out.println("你按了《"+charA+"》键");
	}
}


另外一种写法就是在给窗体添加监听的时候直接 实例方法,不用再写一个类。建议用这个写法。代码如下:

  1. importjava.awt.event.KeyAdapter;
  2. importjava.awt.event.KeyEvent;
  3. importjavax.swing.JFrame;
  4. /**
  5. *
  6. */
  7. /**
  8. *@authorAdministrator
  9. *
  10. */
  11. //窗体类
  12. publicclassMyFrameextendsJFrame{
  13. /**
  14. *@paramargs
  15. */
  16. charcharA;
  17. publicMyFrame(){
  18. this.setSize(500,100);
  19. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  20. this.setTitle("myjframe");
  21. this.setVisible(true);
  22. this.addKeyListener(newKeyAdapter(){
  23. publicvoidkeyPressed(KeyEvente){
  24. charcharA=e.getKeyChar();
  25. System.out.println("你按了《"+charA+"》键");
  26. }
  27. });
  28. }
  29. publicstaticvoidmain(String[]args){
  30. //TODOAuto-generatedmethodstub
  31. newMyFrame();
  32. }
  33. }

相关文章:

  • 2021-09-03
  • 2021-10-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-30
  • 2021-12-09
  • 2021-10-30
  • 2021-10-25
相关资源
相似解决方案