把Panel改成JPanel,同时Frame改成JFrame 为什么监听器就不好用了?
高手帮忙解答下
代码如下:
import java.awt.*;
import java.awt.Color;
import java.awt.event.*;
public class KeyListenTest{
public static void main(String[] args){
KeyTestF ktf = new KeyTestF();
MyPanel mp = new MyPanel();
mp.addKeyListener(new KeyTest());
ktf.add(mp);
}
}
//把Panel改成JPanel,同时Frame改成JFrame 为什么监听器就不好用了
class KeyTestF extends Frame{
public KeyTestF(){
init();
}
public void init(){
setLayout(null);
setSize(200,200);
setLocation(300,300);
this.addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
setVisible(true);
}
}
//把Panel改成JPanel,同时Frame改成JFrame 为什么监听器就不好用了
 class MyPanel extends Panel{
  public MyPanel(){
   init();
   }
  
  public void init(){
   setSize(100,100);
   setBackground(Color.yellow);
   setVisible(true);
   }
}

class KeyTest extends KeyAdapter{
  public void  keyPressed(KeyEvent e){
   switch(e.getKeyCode()){
   case KeyEvent.VK_UP:
   System.out.println("向上");
   break;
   case KeyEvent.VK_DOWN:
   System.out.println("向下");
   break;
   case KeyEvent.VK_LEFT:
   System.out.println("向左");
   break;
   case KeyEvent.VK_RIGHT:
   System.out.println("向右");
   break;
   }
   } 

}