public void keyPressed(KeyEvent e) {
int keycode = e.getKeyCode();
if (keycode == KeyEvent.VK_UP || keycode == KeyEvent.VK_NUMPAD8) {//向上
y -= 10;
} else if (keycode == KeyEvent.VK_DOWN
|| keycode == KeyEvent.VK_NUMPAD2) {//向下
y += 10;
} else if (keycode == KeyEvent.VK_LEFT
|| keycode == KeyEvent.VK_NUMPAD4) {//向左
x -= 10;
} else if (keycode == KeyEvent.VK_RIGHT
|| keycode == KeyEvent.VK_NUMPAD6) {//向右
x += 10;
} else if (keycode == KeyEvent.VK_NUMPAD1) {//左下
x -= 10;
y += 10;
} else if (keycode == KeyEvent.VK_NUMPAD7) {//左上
x -= 10;
y -= 10;
} else if (keycode == KeyEvent.VK_NUMPAD9) {//右上
x += 10;
y -= 10;
} else if (keycode == KeyEvent.VK_NUMPAD3) {//右下
x += 10;
y += 10;
}
repaint();
}
});
改一下这个方法就OK了~~~