setFullScreenWindow(null)在MAC os x Swing应用程序中不起作用

时间:2014-01-27 06:30:40

标签: java macos swing jframe fullscreen

我正在研究具有全屏功能的Swing应用程序。在任何关键事件我尝试使用setFullScreenWindow(null)退出全屏窗口,但它不起作用。  这是代码。

设置JFrame全屏的代码

frame.getJMenuBar().setVisible(false);
                gd.setFullScreenWindow(frame);
                frame.setVisible(false);
                frame.setVisible(true);

关键事件退出全屏的代码:

@Override
        protected void process(List<Boolean> chunks) {
            for(Boolean b:chunks){
                System.out.println(b);
                if(b){
                    if(timer !=null)
                        timer.stop();
                    Window window = gd.getFullScreenWindow();
                    if(window != null){
                        window.dispose();
                    }
                    gd.setFullScreenWindow(null);

                    frame.getJMenuBar().setVisible(false);
                }
            }
        }

请咨询。 :(

1 个答案:

答案 0 :(得分:0)

在将全屏窗口设置为null之前,您需要检查是否支持全屏,如下所示:

if(gd.isFullScreenSupported())
       gd.setFullScreenWindow(null);

现在完美无缺:)