java - 使用 Java 7 的 Linux 上的立体问题 - 如何在将组件添加到父组件后更改组件的 GC

标签 java opengl canvas awt stereo-3d

我有一个包含在 JPanel 中并显示在屏幕上的 AWT Canvas 。我目前使用 Java 7 update 45 并在 Red Hat 6 上运行。

当用户请求支持 openGL 立体的 Canvas 时,我删除现有 Canvas ,创建一个新 Canvas ,选择立体视觉并在 Canvas 上设置适当的 GraphicsConfiguration。问题是,随着 Java 7 中的新更改,当将此 Canvas 添加回 JPanel 时,Jpanel 的 GraphicsConfiguration(GC) 会覆盖 Canvas 的 GraphicsConfiguration。

这发生在 java.awt.Container.addImpl() 中,它调用包范围方法 Component.setGraphicsConfiguration()

我目前正在此包作用域方法上使用反射来从我的代码中调用该方法并更改 Canvas 上的 GC。

还有比这更好的解决方案吗?换句话说,如何在将组件添加到父组件后更改其 GC?

最佳答案

我建议您根本不要更改 GC。相反,只需尝试创建具有立体功能的 GC 并允许回退到非立体 GC。如果成功,则启用立体渲染路径和菜单条目。

关于java - 使用 Java 7 的 Linux 上的立体问题 - 如何在将组件添加到父组件后更改组件的 GC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21239229/

相关文章:

java - 如何拖动 JavaFX 节点并检测 JavaFX Windows 之外的放置事件?

java - 如何将 jar 文件添加到项目而不是添加到 Tomcat lib 文件夹?

OpenGL : SSAO vs Shadow mapping

java - LWJGL 纹理加载/映射问题

javascript - 使用 Canvas 在 HTML5 Meter/ProgressBar 标签上做标记

java - tibco ems 是否可以通过更多连接进行扩展

java - Spring MVC 应用程序在 Eclipse 中运行但不在 Intellij 中运行 - 找不到 404

java - 如何用LWJGL将图像保存到内存中?

javascript - 检测通过MediaElement.js包装的youtube中的播放事件

javascript - 让移动Rect更流畅