Java 如何给予JFrame初始焦点

Java 如何给予JFrame初始焦点,java,swing,jframe,Java,Swing,Jframe,使用JFrame的方法是什么?我有一个游戏,但是为了使用WASD,我首先需要在应用程序运行时单击框架。难道没有一种方法可以让你不用先点击就可以直接使用它吗 我有这个: Game game = new Game(); game.frame.setResizable(false); game.frame.setTitle(Game.title); game.frame.add(game); game.frame.pack(); game.frame.setDefaultCloseOperation(

使用
JFrame
的方法是什么?我有一个游戏,但是为了使用WASD,我首先需要在应用程序运行时单击框架。难道没有一种方法可以让你不用先点击就可以直接使用它吗

我有这个:

Game game = new Game();
game.frame.setResizable(false);
game.frame.setTitle(Game.title);
game.frame.add(game);
game.frame.pack();
game.frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
game.frame.setLocationRelativeTo(null);
game.frame.setVisible(true);

我应该把
game.frame.requestFocus()放在哪里

这是requestFocus()方法,它将焦点放在调用它的组件上(本例中为JFrame)。

听起来像是在问如何设置焦点


请看:

这是requestFocus()方法。这将重点放在调用它的组件上。在调用game.frame.setVisible(true)call game.frame.requestFocus()之前,您可能需要查看一下以下文档:

:它在main方法中,如果有帮助的话?另外,我这样做的方式是添加按键侦听器,如果按W,则打印:true,false,false,false。如果按A,则打印:false、true、false、false等。因此,如果未按任何内容,则打印:false、false、false、false。当我按下这些按钮时,它显示为full false,直到我单击JFrame:/尝试将requestFocus放在最后一行。我相信在你请求聚焦之前,组件必须是可见的。这是有道理的,但它不起作用:/也许它只是我的笔记本电脑?:Ptry Sysout(game.frame.requestFocusInWindow()),还应该为容器(如JPanel)而不是JFrame请求FocusInWindow