import java.awt.*;
import java.awt.event.*;
import javax.swing.*;class KeyboardPanel extends JPanel implements KeyListener{
int x = 100,y = 100;
char keyChar = 'A';
public KeyboardPanel(){
addKeyListener(this);
}
public void keyReleased(KeyEvent e){ }
public void keyTyped(KeyEvent e){ }
public void keyPressed(KeyEvent e){
   switch(e.getKeyCode()){
    case KeyEvent.VK_DOWN: y += 10;break;
    case KeyEvent.VK_UP: y -= 10;break;
    case KeyEvent.VK_LEFT: x -= 10;break;
    case KeyEvent.VK_RIGHT: x += 10;break;
    default:keyChar=e.getKeyChar();
   }
   repaint(); 
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setFont(new Font("TimesRoman",Font.PLAIN,32));
g.drawString(String.valueOf(keyChar),x,y);
}
}
public class KeyEventDemo extends JFrame{
KeyboardPanel kp=new KeyboardPanel();
public KeyEventDemo()
{
setContentPane(kp);
kp.requestFocus(); //获得面板的焦点
setSize(300,400);
setVisible(true);
}
    
public static void main(String[] args) {
new KeyEventDemo();
}
}这是课件上的一个例题~
当运行这段代码后~
按上下键`  都会让Frame中的字母发生移动`
但是我运行这段代码却一点反应都没有`
有人能告诉我为什么么?