JAVA監聽鍵盤事件的代碼
簡單寫一個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+"》鍵"); } } </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();
}
}