JAVA监听键盘事件的代码

jopen 11年前

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

       

        效果如图:

           JAVA监听键盘事件的代码

 

         

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

 

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