import java.awt.* ;
import java.awt.event.* ;//老样子先引入相关包
public class MyBall {//定义小球类
public static void main(String args[]){
Frame w = new Frame() ;
w.setSize(300 , 400) ;//尺寸
MyPanel mp = new MyPanel() ;//画布
w.add(mp) ;//添加画布
//注册事件
w.addKeyListener(mp) ;//给画布和框架都添加监听事件 亲测不加会出问题
mp.addKeyListener(mp) ;
w.show() ;//显示
}
}
class MyPanel extends Panel implements KeyListener{//实现键盘监听接口
int x = 30 ;//初始化x y 坐标
int y = 30 ;
public void paint(Graphics g){
g.fillOval(x, y, 20, 20) ;//老样子 画小球
}
@Override
public void keyPressed(KeyEvent arg0) {//这里是 主要代码 实现接口 重写几个方法
System.out.println (arg0.getKeyCode()) ;
if(arg0.getKeyCode()==37){//判断 键盘 左
x -- ;
}
if(arg0.getKeyCode()==38){ //判断 键盘 下
y -- ;
}
if(arg0.getKeyCode()==39){
x ++ ; //判断 键盘 右
}
if(arg0.getKeyCode()==40){
y ++ ;//判断 键盘 上
}
repaint() ;
}
@Override
public void keyReleased(KeyEvent arg0) {
}
@Override
public void keyTyped(KeyEvent arg0) {
}
}
说一下主要思路:很简单
画小球之前说过了 掠过
这里主要是实现了键盘监听的接口 重写几个方法 然后判断按的是键盘的 上下左右 键 做出相应的运动即可、
|
|