Java JFrame全屏对焦。

Java JFrame全屏对焦。,java,swing,focus,jframe,fullscreen,Java,Swing,Focus,Jframe,Fullscreen,以下是我将JFrame设置为全屏模式的方式: //set full screen frame.dispose(); frame.setUndecorated(true); screenDevice.setFullScreenWindow(frame); frame.setVisible(true); //reset to window mode frame.dispose(); screenDevice.setFullScreenWindow(null); fram

以下是我将JFrame设置为全屏模式的方式:

//set full screen            

frame.dispose();
frame.setUndecorated(true);
screenDevice.setFullScreenWindow(frame);
frame.setVisible(true);

//reset to window mode

frame.dispose();
screenDevice.setFullScreenWindow(null);
frame.setUndecorated(false);
frame.setVisible(true);
但是,当我显示任何对话框时,比如设置对话框,对话框和全屏画面都会丢失FOUC并消失在屏幕上。然后我需要点击任务栏图标来获得焦点

如何解决这个问题?多谢各位

编辑:

假设在这个全屏窗口的菜单栏中有一个JMenuItem,那么我通过点击菜单项使设置JDialog可见,如下所示:

settingsMenuItem.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        settingsDialog.showSettingsDialog();
    }
});

设置对话框和全屏在全屏模式下不显示在屏幕上。在窗口模式下,它工作正常。

如果要将
JFrame
设置为
最大化
为什么不使用此选项:

frame.setExtendedState(Frame.MAXIMIZED_BOTH); 

如果要将
JFrame
设置为
最大化
为什么不使用此选项:

frame.setExtendedState(Frame.MAXIMIZED_BOTH); 

我已经试过你的建议了。我想设置全屏模式,而不是最大化状态。@sanjeev:你已经有了
frame.setUndecorated(…)设置为
true
,因此建议。另外,考虑一下你的代码,让我们更好地理解你的代码。issue@Sanjeev当前位置另请参阅。我已经尝试了你的建议。我想设置全屏模式,而不是最大化状态。@sanjeev:你已经有了
frame.setUndecorated(…)设置为
true
,因此建议。另外,考虑一下你的代码,让我们更好地理解你的代码。issue@Sanjeev:另见。