定义了键盘监听没有生效
刚学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]