GLJPanel停止重绘



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

我不能使用GLCanvas,因为它不能在Windows或Linux上工作(Netbeans和Jogl几乎是在地狱里制造的匹配)。我不能使用NEWT,因为它在Mac上不起作用。所以我使用GLJPanel,尽管它很慢。

不管怎样,它通常一开始是有效的。然后,如果我在程序中调整大小或做其他事情,窗口似乎失去焦点,永远不会恢复它。窗口不会重画。我仍然得到鼠标事件(但是没有键事件!)。我知道这一点,因为我可以点击另一个窗口,它会重新绘制GLJPanel一次。否则屏幕不会重绘。

我已经尝试了设置sun.java2d的所有组合。Opengl和sun.java2d。nodedraw设置为true和false,如http://jogamp.org/deployment/jogamp-next/javadoc/jogl/javadoc/javax/media/opengl/awt/GLCanvas.html#java2dgl

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

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

我做了什么明显的错误吗?

我不会将这些标志设置为true,因为gui元素存在一些bug。我已经编码了我的程序没有这些标志设置为真。我建议重写GLPanel或GLCanvas的GLEventListener,如果你让它工作的话。应不断重新油漆。等待你的答复,也许如果你给更多的细节,我可以帮助你。

相关内容

  • 没有找到相关文章

最新更新