12

我希望我的应用程序具有全屏模式。执行此操作的最简单方法是什么,我需要为此使用第三方库还是 JDK 中已经提供了此功能?

4

5 回答 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 回答