骑着蜗牛定乾坤 发表于 2016-01-12 21:47

定义了键盘监听没有生效

刚学java,定义了一个键盘监听,没生效,走过路过指点一下,以下是代码,这些代码是跟着视频写的
public class MyFrame extends Frame{
          public void launchFrame(){
               
                setSize(Constant.GAME_WIDTH, Constant.GAME_HEIGTH);//窗口的大小
                setLocation(200,200); //窗口弹出的初始位置
                setVisible(true);
               
               
                addWindowListener(new WindowAdapter(){                        
                        public void windowClosing(WindowEvent e){
                                System.exit(0);
                        }
                });
               
                new PaintThread().run();
        }

      public class PaintThread extends Thread{
                public void run(){
                        while(true){
                                repaint();
                                try {
                                        Thread.sleep(40);
                                } catch (InterruptedException e) {
                                        e.printStackTrace();
                                }
                        }
                }
        }

}

以下是实现方法及键盘监听代码:
package planeGame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import util.*;
import util.MyFrame.PaintThread;

public class PlaneGameFrame extends MyFrame{

        Image bg=GameUtil.getImage("images/bg.jpg");
        Plane p=new Plane("images/plane.png",100,100);
       
        public void paint(Graphics g){
                g.drawImage(bg,0,0,null);
                p.draw(g);
        }
       
        public void launchFrame(){
                super.launchFrame();
                               
                addKeyListener(new KeyMonitor());
        }
       
        class KeyMonitor extends KeyAdapter {

                @Override
                public void keyPressed(KeyEvent e) {
                        System.out.println(e.getKeyCode());
                }

                @Override
                public void keyReleased(KeyEvent e) {
                       
                        System.out.println(e.getKeyCode());
                }
               
        }
       
        public static void main(String[] args) {
                new PlaneGameFrame().launchFrame();
               
        }
}

这些代码里有获取图片的方法和常量,这些方法和常量都测试过没问题,就是键盘监听这里没有生效,请各位给初学者指点一下,不胜感激
页: [1]
查看完整版本: 定义了键盘监听没有生效