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