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

Java 独立于平台的全屏JFrame,具有指定的分辨率?,java,swing,graphics,jframe,fullscreen,Java,Swing,Graphics,Jframe,Fullscreen,我正在尝试编写一个JFrame应用程序,我想要全屏(我不是说最大化),但是应用程序UI非常小(大约500x600),有没有可能将全屏JFrame的分辨率设置为1024x768,在Linux和Windows上运行? 我只是简单地使用了以下代码: setUndecorated(true); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); setBounds(0,0,screenSize.width, screen

我正在尝试编写一个JFrame应用程序,我想要全屏(我不是说最大化),但是应用程序UI非常小(大约500x600),有没有可能将全屏JFrame的分辨率设置为1024x768,在Linux和Windows上运行? 我只是简单地使用了以下代码:

setUndecorated(true);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0,0,screenSize.width, screenSize.height);
                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);
                    }
                }
但是,我找不到修改分辨率的方法,它仍然显示任务面板

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

编辑 :我使用此代码得到了进一步的改进:

setUndecorated(true);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0,0,screenSize.width, screenSize.height);
                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运行

有没有办法设置全屏的分辨率 将在Linux和Windows上工作的JFrame到1024x768

如果您想在整个屏幕上显示您的
JFrame
,那么您可以使用以下选项:

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

查看完整的详细信息,请特别注意

这是测试和(如果可用)设置
1024x768
模式的最佳方法。我在该教程中尝试编辑了该问题,但它没有改变分辨率:(有什么想法吗?@LukeSilver我的“猜测”是支持显示模式。从教程中“在为应用程序选择显示模式时,您可能希望保留一个首选显示模式列表,然后从可用显示模式列表中选择最佳显示模式……作为备用,如果所需的显示模式不可用,您可能希望以固定大小在窗口模式下运行。“……我看看今天能不能玩一会儿;)