繁体   English   中英

如何在Java中编写全屏模式?

[英]How to program a full-screen mode in Java?

我希望我的应用程序具有全屏模式。 最简单的方法是,我需要第三方库吗?或者JDK中是否有提供此功能的东西?

尝试全屏独占模式API 它是在1.4版的JDK中引入的。 一些功能包括:

  • 全屏独占模式 - 允许您暂停窗口系统,以便可以直接在屏幕上完成绘图。
  • 显示模式 - 由大小(监视器的宽度和高度,以像素为单位),位深度(每像素的位数)和刷新率(监视器自身更新的频率)组成。
  • 被动与主动渲染 - 使用paint方法在主事件循环上绘制是被动的,而在自己的线程中渲染是活动的。
  • 双缓冲和页面翻转 - 更平滑的绘图意味着更好的感知性能和更好的用户体验。
  • BufferStrategy和BufferCapabilities - 允许您绘制到曲面和组件而不必知道所使用的缓冲区数量或用于显示它们的技术的类,并帮助您确定图形设备的功能。

链接教程中有几个全屏独占模式示例。

JFrame setUndecorated(true)方法

使用此代码:

JFrame frame = new JFrame();
// set properties
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setUndecorated(true);
frame.setVisible(true);

确保setUndecorated()setVisible()之前出现,否则它将无效。

当我为游戏提供全屏OpenGL用户界面时,我已经使用JOGL完成了这项工作。 这很容易。 我相信这个功能也被添加到Java版本5中,但是很久以前我忘记了怎么做(编辑:请参阅上面的答案)。

这实际上取决于你用来显示界面的东西,即AWT / Spring或OpenGL等。

Java有一个全屏独占模式API - 请参阅Sun的本教程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM