有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java GLJPanel停止重新绘制

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

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

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

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

这是开源项目的一部分,因此我的组件的源代码位于

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

我是不是做错了什么


共 (1) 个答案

  1. # 1 楼答案

    我不会将这些标志设置为true,因为gui元素有一些bug。我在没有将这些标志设置为true的情况下编写了程序。如果GLPanel或GLCanvas的GLEventListener能够正常工作,我建议您使用并覆盖它。应该不断地重新油漆。等待你的回应,如果你能提供更多细节,我可以帮你