【问题标题】:GLJPanel Stops RedrawingGLJPanel 停止重绘
【发布时间】:2011-07-14 02:20:18
【问题描述】:

我正在使用 Jogl 在 Netbeans 平台模块项目中创建 GLJPanel(这是一种非常特殊的 Java 应用程序,它在 netbeans 平台应用程序中创建模块化窗口,因此您可以拖动多个窗口)。

我不能使用 GLCanvas,因为它不能在 Windows 或 Linux 上运行(Netbeans 和 Jogl 几乎是天造地设的一对)。我不能使用 NEWT,因为它在 Mac 上不起作用。所以我使用的是 GLJPanel,尽管它很慢。

无论如何,它通常在一开始就起作用。然后,如果我在程序中调整大小或执行其他操作,窗口似乎会失去焦点并且永远不会重新获得它。窗口不会重绘。我仍然得到鼠标事件(虽然没有关键事件!)。我知道这一点,因为我可以单击另一个窗口,它会重绘 GLJPanel 一次。否则屏幕不会重绘。

根据http://jogamp.org/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/awt/GLCanvas.html#java2dgl,我已尝试将 sun.java2d.opengl 和 sun.java2d.noddraw 设置为 true 和 false 的所有组合

这是一个开源项目的一部分,所以我的组件的来源在

https://github.com/mtakemiya/BMIDesktop/blob/dfe63cc789d42bff99922f36b683bd88e64632df/timeline/src/jp/atr/dni/bmi/desktop/timeline/TimelineTopComponent.java

我做错了什么吗?

【问题讨论】:

    标签: java netbeans jogl platform


    【解决方案1】:

    我不会将这些标志设置为 true,因为 gui 元素存在一些错误。我已经编写了我的程序,但没有将这些标志设置为 true。如果你让它工作,我会建议覆盖 GLPanel 或 GLCanvas 的 GLEventListener .应该不断重绘。等待你的回应也许如果你提供更多细节我可以帮助你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-07
      • 1970-01-01
      • 1970-01-01
      • 2019-12-02
      • 2012-02-07
      • 2020-08-04
      相关资源
      最近更新 更多