zoukankan      html  css  js  c++  java
  • [置顶] java Gui 键盘监听事件

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

           

            效果如图:

              

             

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

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

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

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

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

                 

                   5.实例化窗体类。

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

                   

    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+"》键");
    	}
    }
    


     

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

    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 KeyAdapter(){
    			public void keyPressed(KeyEvent e){
    				char charA=e.getKeyChar();
    				System.out.println("你按了《"+charA+"》键");
    			}
    		});
    		
    		
    	}
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		new MyFrame();
    	}
    
    }


     

  • 相关阅读:
    个性实用的SQL语句
    SiteMesh简介
    oracle基本操作
    java项目中获得不同状态下的磁盘根目录和相对目录。
    linux下安装weblogic 10.3.2.0 及mysql数据源的配置
    SQL Serve 查询所有可用的数据库语句
    [传智播客学习日记]简单工厂模式计算器案例
    [传智播客学习日记]SqlHelper与DataSet
    [传智播客学习日记]序列化、XML序列化与深拷贝操作
    [传智播客学习日记]10月18日第一天正式上课
  • 原文地址:https://www.cnblogs.com/pangblog/p/3313227.html
Copyright © 2011-2022 走看看