我希望我的应用程序具有全屏模式。最简单的方法是,我需要第三方库吗?或者JDK中是否有提供此功能的内容?
答案 0 :(得分:23)
试试Full-Screen Exclusive Mode API。它是在1.4版的JDK中引入的。一些功能包括:
- 全屏独占模式 - 允许您暂停窗口系统,以便可以直接在屏幕上完成绘图。
- 显示模式 - 由大小(显示器的宽度和高度,以像素为单位),位深度(每像素的位数)和刷新率(监视器更新自身的频率)组成
- 被动与主动渲染 - 使用paint方法在主事件循环上绘制是被动的,而在自己的线程中渲染是活动的。
- 双缓冲和页面翻转 - 更流畅的绘图意味着更好的感知性能和更好的用户体验。
- BufferStrategy和BufferCapabilities - 允许您绘制到曲面和组件的类,而无需知道所使用的缓冲区数量或用于显示它们的技术,并帮助您确定图形的功能设备
链接教程中有几个全屏独占模式示例。
答案 1 :(得分:3)
JFrame setUndecorated(true)
方法
答案 2 :(得分:2)
当我为游戏提供全屏OpenGL用户界面时,我已经使用JOGL完成了这项工作。这很容易。我相信这个功能也被添加到了版本5的Java中,但是很久以前我忘记了怎么做(编辑:请参阅上面的答案)。
答案 3 :(得分:2)
使用此代码:
JFrame frame = new JFrame();
// set properties
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setUndecorated(true);
frame.setVisible(true);
确保setUndecorated()
出现在setVisible()
之前,否则它无法正常工作。
答案 4 :(得分:1)
这实际上取决于您用来显示界面的内容,即AWT / Spring或OpenGL等。
Java有一个全屏独占模式API - see this tutorial from Sun。