我希望我的应用程序具有全屏模式。执行此操作的最简单方法是什么,我需要为此使用第三方库还是 JDK 中已经提供了此功能?
Epaga
问问题
21159 次
5 回答
22
尝试全屏独占模式 API。它是在 JDK 1.4 版本中引入的。其中一些功能包括:
- 全屏独占模式- 允许您暂停窗口系统,以便可以直接在屏幕上进行绘图。
- 显示模式- 由大小(显示器的宽度和高度,以像素为单位)、位深度(每个像素的位数)和刷新率(显示器自身更新的频率)组成。
- 被动与主动渲染- 在主事件循环上使用paint方法进行绘制是被动的,而在您自己的线程中渲染是主动的。
- 双缓冲和翻页- 更流畅的绘图意味着更好的感知性能和更好的用户体验。
- BufferStrategy 和 BufferCapabilities - 允许您绘制到表面和组件的类,而无需知道使用的缓冲区数量或用于显示它们的技术,并帮助您确定图形设备的功能。
链接教程中有几个全屏独占模式示例。
于 2008-09-26T12:13:39.110 回答
3
JFramesetUndecorated(true)
方法
于 2008-09-26T12:19:55.083 回答
2
在为游戏提供全屏 OpenGL 用户界面时,我使用 JOGL 完成了此操作。这很容易。我相信该功能也已在版本 5 中添加到 Java 中,但是很久以前我已经忘记了如何做到这一点(编辑:参见上面的答案以了解如何做)。
于 2008-09-26T12:13:44.600 回答
2
使用此代码:
JFrame frame = new JFrame();
// set properties
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setUndecorated(true);
frame.setVisible(true);
确保setUndecorated()
之前来,setVisible()
否则将无法正常工作。
于 2012-04-08T17:08:58.067 回答
1
这实际上取决于您使用什么来显示您的界面,即 AWT/Spring 或 OpenGL 等。
Java 有一个全屏独占模式 API -请参阅 Sun 的本教程。
于 2008-09-26T12:15:05.690 回答