用于接收键盘事件(按键)的侦听器界面。 有兴趣处理键盘事件的类可以实现这个接口(和它包含的所有方法),或扩展抽象的KeyAdapter类(仅覆盖感兴趣的方法)。

然后,使用该组件的addKeyListener方法将从该类创建的侦听器对象注册到组件。 按键,释放或键入时会产生键盘事件。 然后调用侦听器对象中的相关方法,并将KeyEvent传递给它。


该接口有三个方法:

  1. public void keyReleased(KeyEvent e)释放某个键时调用此方法。
  2. public void keyPressed(KeyEvent e)按下某个键时调用此方法。

  3. public void keyTyped(KeyEvent e)键入某个键时调用此方法。

实例如下:

package Tank;import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class key extends JFrame{Mypanel mp = null;public static void main(String[] args) {new key();}public key(){mp = new Mypanel();this.add(mp);this.addKeyListener(mp);//注册监听this.setSize(300,400);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}class Mypanel extends JPanel implements KeyListener {int x = 10;int y = 10;@Overridepublic void paint(Graphics g) {super.paint(g);g.fillOval(x, y, 10, 10);}@Overridepublic void keyTyped(KeyEvent e) {// TODO Auto-generated method stub}@Overridepublic void keyPressed(KeyEvent e) {// TODO Auto-generated method stub//System.out.println("键被按下"+e.getKeyChar());if(e.getKeyCode()==KeyEvent.VK_DOWN){//点击向下的键y++;}else if(e.getKeyCode()==KeyEvent.VK_UP){//点击向上的键y--;}else if(e.getKeyCode()==KeyEvent.VK_LEFT){//点击向左的键x--;}else if(e.getKeyCode()==KeyEvent.VK_RIGHT){//点击向右的键x++;}//调用repaint方法实现重画的功能this.repaint();}@Overridepublic void keyReleased(KeyEvent e) {// TODO Auto-generated method stub}}
}

Java键盘监听器KeyListener相关推荐

  1. java 事件监听器 执行类_事件及事件监听器类 java

    一般来说,Xevent对应Xlistener,相应注册方法为addXListener,相应的便捷类为XAdapter java .awt.event包中存放的主要是Xevent与XListener. ...

  2. 键盘监听器————在飞机大战中的利用(移动,加速,发射子弹,一应俱全)

    在这之前,我们已经接触过,ActionListener,MouseListener等监听器,灵活运用了我们电脑所常用的工具.但是,作为一个常常玩游戏的人来说,键盘也是至关重要的!!!遥想当年,在439 ...

  3. java键盘事件键值表_Java的20年:重大事件的时间表

    java键盘事件键值表 翻译自: https://www.javacodegeeks.com/2015/12/2-decades-java-timeline-notable-events.html j ...

  4. Java键盘录入 Scanner

    Java键盘录入 Scanner 概述: 是一种功能,是jdk中Scanner类中的一种功能,可以通能过键盘录入数字和字符串的功能,这里只涉及录入int数字的功能. 使用步骤: ​ 1.需要把别人写好 ...

  5. 基于易语言的键盘监听器(仅供学习)

    基于易语言的键盘监听器(仅供学习) 软件原理 梳理 输入内容检测部分 发送部分 结束部分 准备工作 邮箱准备 支持库准备 模块准备 窗口准备 代码部分 程序集 启动窗口创建完毕 子程序1 编辑框1内容 ...

  6. JAVA键盘录入 分支结构if swtich语句+循环结构for while语句 练习

    JAVA键盘录入 分支结构if swtich语句+循环结构for while语句 练习 今天学习的三个点,键盘录入 分支结构和循环结构.感觉这些还是得通过实操大量题目后才便于理解,前期只听教师讲解和死 ...

  7. Java键盘录入的三种方式

    Java键盘录入三种方法 方法一:Scanner类中的方法 优点一: 可以获取键盘输入的字符串 优点二: 有现成的获取int,float等类型数据,非常强大,也非常方便 方法二:System.in和S ...

  8. java 键盘输入语句怎么写

    java 键盘输入语句写法 第一种: public class shuRu{ public static void main(string arg[]){ system.out.println(arg ...

  9. Java 键盘输入的三种方法

    Java 键盘输入的三种方法 1.System.in和System.out方法:从控制台接收一个字符,然后将其打印出来 虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能 ...

最新文章

  1. JQuery学习记录——DOM的加载
  2. [Unity]限制两个物体之间的距离
  3. python什么是堆什么是栈_顶置篇:CPython的内存概念:栈、堆和引用
  4. OpenStack云第三天
  5. 8个Python小游戏,可以上班摸鱼玩一天
  6. 弹性力学方程 有限差分法matlab,泊松方程的有限差分法的MATLAB实现
  7. nas服务器用户无访问权限,群晖NAS文件权限管理和账户的权限
  8. STAF/STAX安装配置
  9. PB控件属性之Tab
  10. 禅道发信配置(网易企业邮箱)
  11. 【python】蓄水池
  12. 好生猛,游戏里爆肝创纪录,太强了!
  13. 目标检测经典论文——Faster R-CNN论文翻译:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Net
  14. 一战赚了1090亿,“恐怖”的张一鸣!
  15. 17种数据可视化图表,有哪些适用场景?
  16. 思特奇2019校招笔试题
  17. 实际的机械臂控制(9)Moveit单独控制机械臂末端在XYZ三个轴的平移和旋转(基于python)
  18. stom实时单词统计
  19. 竟然有人用python做这种事 ۦُ۟۟ۖۖۖٛۥۗۙۙۗۡۥٌۚۚۗۛۥۛۚۛۡۥۖۛۛۦُُ۟۟ۖۖۖٛ۟ۗۖۚۥٌُٞۖۛۚ۟ۥٌٌۖۖ۟ۖۦٌ (Python 实现挂机自动锁屏)
  20. GitHub开源项目学习 电商系统Mall (二) Mac搭建Mall前后台环境

热门文章

  1. jeapedu 115 複習習題05
  2. oracle 2019 ocp,关于Oracle数据库管理2019 OCP专家认证
  3. java程序设计实践教程张永常_java程序设计实用教程
  4. word模板填充数据
  5. JDG人脸识别课堂管理系统全栈开发流程报告-软件工程实践报告
  6. JavaScript中for、for...in、for...of、forEach的区别和用法
  7. UA记录wegame
  8. token令牌的含义和操作
  9. 请写出至少五个块级元素_以逸之名
  10. 关于bitamap旋转图片全黑