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