黑马程序员技术交流社区
标题:
哥们能帮忙解释一下
[打印本页]
作者:
HM何伟
时间:
2013-4-7 21:26
标题:
哥们能帮忙解释一下
本帖最后由 HM何伟 于 2013-4-7 22:23 编辑
为什么我这个小球不能移动啊
package TankGame;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
public class DrawOval extends JFrame {
MyPanel my = null;
public static void main(String[] args) {
DrawOval dr = new DrawOval();
}
public DrawOval() {
my = new MyPanel();
this.add(my);
this.addKeyListener(my);
this.setSize(400, 300);
this.setVisible(true);
}
}
class MyPanel extends JPanel implements KeyListener {
int x = 10;
int y = 10;
public void paint(Graphics g) {
super.paint(g);
g.fillOval(x, y, 15, 15);
}
@Override
// 键被按下
public void keyTyped(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_KP_DOWN) {
y++;
} else if (e.getKeyCode() == KeyEvent.VK_KP_UP) {
y--;
} else if (e.getKeyCode() == KeyEvent.VK_KP_LEFT) {
x--;
} else if (e.getKeyCode() == KeyEvent.VK_KP_RIGHT) {
x++;
}
this.repaint();
}
@Override
// 键被松开
public void keyPressed(KeyEvent e) {
}
@Override
// 键的一个值被输出.
public void keyReleased(KeyEvent e) {
}
}
复制代码
作者:
刘胜寒
时间:
2013-4-7 21:33
这个真不会....
作者:
lyg2013
时间:
2013-4-7 21:38
swing 很少用吧,哥们不会、
作者:
刘胜寒
时间:
2013-4-7 21:46
虽然我不会我给你说一下我的猜测....
你好象的处理函数是对的..
你的那个处理函数应该是写在Xxx.addSss(Axx e) 这个函数里面的
我是这样认为的...
这个东西我只看了一遍不是很懂....
上面是我的猜测
作者:
HM何伟
时间:
2013-4-7 22:22
哦我明白了,是方法用错了,应该是用在keyPressed中.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2