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

标签 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 运行。

最佳答案

is there a possible way I could set the resolution of a fullscreen JFrame to 1024x768 that will work on Linux and Windows.

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

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

关于java - 具有指定分辨率的独立于平台的全屏 JFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16387624/

相关文章:

c# - 如何在winforms中拥有一个ListBox的多种颜色的项目?

java - Yield() 方法未按预期工作

java - 在 JAR 中导出时,Weka 和 Snowball 不起作用

java - 获取数据在 JTable 中的位置

java - 移除对可编辑 jtable 单元格的关注

c# - 确定哪个控件最接近鼠标指针

java - 将排序后的多个数据放入一个变量中(就像 HashMap 只是具有更多行)

java - JerseyTest 和 JUnit 抛出 NullPointerException

java - (卡片布局)为JComboBox设置CardPanels的卡片名称

java - 从不可见的 AWT 组件创建图像?