java键盘控制小球_Java 键盘控制一个小球

俩 class

one panel类

一个测试类。

目标是实现用键盘去控制一个物体。此处是控制一个小球

贴代码

main类

`package com.imooc.ruige;

import java.awt.;

import java.awt.event.;

public class KeyTest {

public static void main(String[] srgs){

Frame w =new Frame();

w.setSize(600,800);

MyPanel mp = new MyPanel();

w.add(mp);

w.addKeyListener(mp);

mp.addKeyListener(mp);

w.show();

}

}

panel类package com.imooc.ruige;

import java.awt.Graphics;

import java.awt.Panel;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

public class MyPanel extends Panel implements KeyListener {

int x=200;

int y =300;

public void paint(Graphics g){

if(!(x<0||x>600||y<0||y>800))

g.fillOval(x, y, 40, 40);

else

{x=200;

y=300;}

}

@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.getKeyCode());

moveBall(e);

repaint();

}

@Override

public void keyReleased(KeyEvent e) {

// TODO Auto-generated method stub

}

void moveBall(KeyEvent e){

switch(e.getKeyCode())

{

case 37:x-=10;

break;

case 38:y-=10;

break;

case 39:x+=10;

break;

case 40:y+=10;

break;

default:

break;

}

}

}

`

贴一下事件处理的流程--------->>

AAffA0nNPuCLAAAAAElFTkSuQmCC

讲解下 此处panel 继承了keyListener接口 :定义了监听器类,

所以实现了keypress等方法 :定义了事件处理器。

test类里mp.addKeylistener(mp) 则是注册监听器

mp在此既是事件源又是监听器对象

当键盘按下则触发监听器执行 事件处理器

the end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值