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();
	}

}


 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章