import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
class paint extends JPanel implements KeyListener{
int x=15;
int y=15;
public void paint(Graphics s){
s.fillOval(x, y, 15, 15);
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
switch(e.getKeyCode())
{
case KeyEvent.VK_UP:
y--;
//调用repaint()函数,重新绘制小球位置
this.repaint();
break;
case KeyEvent.VK_DOWN:
y++;
//调用repaint()函数,重新绘制小球位置
this.repaint();
break;
case KeyEvent.VK_LEFT:
x--;
//调用repaint()函数,重新绘制小球位置
this.repaint();
break;
case KeyEvent.VK_RIGHT:
x++;
//调用repaint()函数,重新绘制小球位置
this.repaint();
break;
}
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
}
public class controlBall{
public static void main(String[] args) {
JFrame jf=new JFrame();
jf.setSize(200,200);
paint x=new paint();
jf.add(x);
jf.addKeyListener(x);
jf.setVisible(true);
}
}