我正在一个设置为全屏窗口的JFrame对象上使用KeyListener,代码类似于这样:
我认为我的框架对象没有聚焦,但是调用setFocusable(true)和requestfocusinwindow()并没有帮助。如果有人知道问题出在哪里或如何修复它,将不胜感激...
Tomi
class Game{
private GraphicsDevice device;
...
public void run(){
JFrame frame = new JFrame();
frame.addKeyListener(new MarioKeyListener());
device.setFullScreenWindow(frame);
}
...
}
如果我只在主方法中创建一个游戏对象并调用run(),那么它可以正常工作。
但是,我想在另一个JFrame的MenuItem中添加到mousePressed()函数中完成这个操作。结果是程序可以正常运行,但不接受任何键盘输入。
JMenu gamemenu = new JMenu("Game");
JMenuItem newGame = new JMenuItem("New Game");
newGame.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e){
Game g = new Game();
g.run();
}
});
gamemenu.add(newGame);
我认为我的框架对象没有聚焦,但是调用setFocusable(true)和requestfocusinwindow()并没有帮助。如果有人知道问题出在哪里或如何修复它,将不胜感激...
Tomi