Java键盘监听器KeyListener

用于接收键盘事件(按键)的侦听器界面。 有兴趣处理键盘事件的类可以实现这个接口(和它包含的所有方法),或扩展抽象的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;

        @Override
        public void paint(Graphics g) {
            super.paint(g);
            g.fillOval(x, y, 10, 10);

        }
        @Override
        public void keyTyped(KeyEvent e) {
            // TODO Auto-generated method stub

        }

        @Override
        public 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();
        }
        @Override
        public void keyReleased(KeyEvent e) {
            // TODO Auto-generated method stub

        }
    }
}

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java码蚁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值