Java 带JOGL的全屏摆动

Java 带JOGL的全屏摆动,java,swing,opengl,graphics,jogl,Java,Swing,Opengl,Graphics,Jogl,我正在尝试制作一个Swing应用程序,按照这里的描述和源代码全屏呈现 这工作得很好,但是只要我将GLCanvas对象作为帧的一个组件放入,就会显示一个黑屏。退出全屏,我可以在全屏上看到OpenGL图像一会儿,然后它在窗口中再次显示良好。即使没有显示任何内容,我也可以和swing组件(如按钮)交互,就好像它们是 在我看来,在实际的swing应用程序上方似乎又画了一个空白缓冲区,但我不明白为什么会这样。或者,我想知道这是否是一个问题,全屏幕正在处理的图形卡,这也是处理JOGL 我不需要硬件加速的全屏

我正在尝试制作一个Swing应用程序,按照这里的描述和源代码全屏呈现

这工作得很好,但是只要我将GLCanvas对象作为帧的一个组件放入,就会显示一个黑屏。退出全屏,我可以在全屏上看到OpenGL图像一会儿,然后它在窗口中再次显示良好。即使没有显示任何内容,我也可以和swing组件(如按钮)交互,就好像它们是

在我看来,在实际的swing应用程序上方似乎又画了一个空白缓冲区,但我不明白为什么会这样。或者,我想知道这是否是一个问题,全屏幕正在处理的图形卡,这也是处理JOGL


我不需要硬件加速的全屏,虽然它可能很好-如果这是无法解决的,是否有更健壮的方法在Java应用程序中实现全屏?

尝试禁用
-Dsun.java2d.noddraw=true

您不能在可显示窗口上调用setUndercorated(…),您必须先处理它,但这也会处理画布。使用共享drawable执行此操作,并在调用框架上的dispose()之前将其删除。

OS?OpenGL实现供应商?对不起,我(真傻)以为这是平台无关的。我正在使用Nvidia GForce 9600M GT运行Windows 7。谢谢,它工作得非常完美。现在,我必须找出在每次运行时强制包含此命令行参数的最佳方法光荣,谢谢/现在/我只需要弄清楚如何在显示帧后启用和禁用帧装饰(
setUndercorated()
?)。除非你想再帮我一点忙,否则我会亲自去问/找的PYepp!:)
frame.setUndecorated(true)
是的,我遇到了这个问题。幸运的是,这对我的应用程序来说只是一个小小的不便,但我仍然希望它能正常工作。你能详细解释一下你所说的“使用共享的绘图工具来完成这项工作并将其删除”是什么意思吗?我面临着同样的问题。如果仅使用共享上下文,则从窗口中删除画布时,该上下文将被销毁,除非使用NEWT而不是AWT/Swing。您可以在这里看到一个共享绘图的示例:我发现我遇到的问题的实际原因是OpenGL面板init()中的某个run once设置代码。由于重新显示面板时再次调用init()get,因此它正在重新运行它。通过将run-once代码移动到构造函数,我解决了我所看到的问题,现在它可以完美地工作:D