Я использую KeyListener для объекта JFrame, который я установил как FullScreenWindow, что-то вроде этого кода:
class Game{
private GraphicsDevice device;
...
public void run(){
JFrame frame = new JFrame();
frame.addKeyListener(new MarioKeyListener());
device.setFullScreenWindow(frame);
}
...
}
И это прекрасно работает, если я просто создаю объект Game в своем основном методе и вызываюбежать().Однако я хочу сделать это внутри функции mousePressed () MouseAdapter, который я добавил в другой элемент меню JFrame-s.В результате программа работает как обычно, но не принимает ввод с клавиатуры.
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 () не помог,Если кто-нибудь знает, что не так или как это исправить, помощь будет принята с благодарностью ...
Томи