2011-07-14 76 views
0

我正在使用Jogl在Netbeans Platform模塊項目內部創建一個GLJPanel(這是一個非常特定類型的Java應用程序,它在netbeans平臺應用程序內創建一個模塊化窗口,因此您可以拖動多個窗口)。GLJPanel停止重繪

我無法使用GLCanvas,因爲它在Windows或Linux上不起作用(Netbeans和Jogl幾乎是在地獄中製作的)。我無法使用NEWT,因爲這在Mac上不起作用。所以我使用GLJPanel,即使速度很慢。

無論如何,它通常在第一個工作。然後,如果我調整大小或在程序中做其他事情,窗口似乎失去了重點,並且永遠不會重新獲得它。該窗口不會重繪。我仍然得到鼠標事件(儘管沒有關鍵事件!)。我知道這一點,因爲我可以點擊另一個窗口,它會重繪一次GLJPanel。否則,屏幕不會重繪。

我已經嘗試設置sun.java2d.opengl和sun.java2d.noddraw真假的所有組合,按照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

我做錯任何事情顯然是錯誤的?

回答

0

我不會設置這些標誌爲真,因爲有一些與gui元素的錯誤。我已經編寫了我的程序,但沒有將這些標誌設置爲true。我會催促重寫GLPanel或GLCanvas的GLEventListener,如果你有它的話工作。應該不斷重畫。等你迴應,也許如果你提供更多的細節,我可以幫助你。