JAVA監聽鍵盤事件的代碼

jopen 10年前發布 | 252K 次閱讀 Java開發 Java

簡單寫一個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+"》鍵");  
    }  
}  </pre> <div class="dp-highlighter bg_java">
    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();  
        }  

    }