在游戏中聚焦窗口而不会最小化游戏

时间:2013-06-08 09:20:54

标签: java swing window focus

有一种方法可以将我的窗口移到前面而不会最小化当前的全屏游戏吗?

例如:我正在玩一个游戏然后我在游戏中点击CTRL + F和一个窗口弹出窗口,我可以使用该窗口,游戏不会最小化或失焦。

单击CTRL + F时,我的代码已经myFrame.toFront(); myFrame.repaint();

如果有人能帮助我,我感激不尽,谢谢

Carlos Barros

编辑:也许我应该说这个,但游戏就像反恐精英或英雄联盟这样的游戏我没有制作游戏。

1 个答案:

答案 0 :(得分:2)

  

我已将代码发送到myFrame.toFront(); myFrame.repaint();

不要将JFrame用作弹出窗口。应用程序应该只有一个JFrame。对于子窗口,您应该使用JDialog。在你的情况下,你似乎想要一个非模态对话框。

  

我可以使用该窗口,游戏不会最小化或失焦。

默认情况下显示对话框时,无论是否为模态,它都会获得焦点(因此框架将失去焦点)。

如果您想阻止非模态对话框获得初始焦点,那么您需要以下代码:

dialog.setFocusableWindowState( false );
dialog.setVisible(true);
dialog.setFocusableWindowState( true );

当您使对话框可见时,它将无法获得焦点(并且框架将保持焦点)。但是,如果您稍后单击该对话框,它将能够获得焦点。