免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1766 | 回复: 0
打印 上一主题 下一主题

定义了键盘监听没有生效 [复制链接]

论坛徽章:
2
数据库技术版块每日发帖之星
日期:2015-07-04 22:20:00IT运维版块每日发帖之星
日期:2015-11-25 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 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();
               
        }
}

这些代码里有获取图片的方法和常量,这些方法和常量都测试过没问题,就是键盘监听这里没有生效,请各位给初学者指点一下,不胜感激
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP