具有指定分辨率的平台独立全屏JFrame?

时间:2013-05-05 18:21:42

标签: java swing graphics jframe fullscreen

我正在尝试编写一个我想要全屏的JFrame应用程序(并且我并不意味着最大化),但是应用程序UI非常小(大约500x600)有可能我可以设置全屏的分辨率JFrame到1024x768可以在Linux和Windows上运行吗? 我只是使用这段代码:

setUndecorated(true);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0,0,screenSize.width, screenSize.height);

但是我找不到修改分辨率的方法,它仍然显示任务面板。

我在Linux Mint 14 KDE上的eclipse中开发。 提前谢谢!

修改的 :我进一步使用这段代码:

                setUndecorated( true );
                setResizable( false );
                setAlwaysOnTop( true );
                setVisible( true );
                GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
                DisplayMode dm = new DisplayMode(1024, 768, 16, DisplayMode.REFRESH_RATE_UNKNOWN);
                vc = env.getDefaultScreenDevice();
                vc.setFullScreenWindow(this);
                if (dm != null && vc.isDisplayChangeSupported()){
                    try{
                        vc.setDisplayMode(dm);
                    }catch (Exception e){
                        System.exit(0);
                    }
                }

该代码位于我的类的构造函数中,扩展了JFrame。但是它不会改变分辨率,它只运行在默认的1080p。

2 个答案:

答案 0 :(得分:1)

  

是否有可能设置全屏分辨率   JFrame到1024x768,适用于Linux和Windows。

如果您希望JFrame显示在整个屏幕上,那么您可以使用以下内容:

setUndecorated(true);
setExtendedState(JFrame.MAXIMIZED_BOTH);
toFront();

答案 1 :(得分:1)

请查看Full Screen Exclusive Mode API了解详细信息,特别注意Display Mode