2011/03/17

メニューがGLCanvasの裏に隠れてしまう問題.

JOGLでオブジェクトを描画するには,GLCanvasとGLJPanelのどちらかを使う.

二つともJFrameに張って使うのは共通.
しかしGLCanvasとメニューを共存させると,メニューのプルダウンリストがcanvasの裏に隠れてしまう問題が発生する.
これはhttp://java.sun.com/products/jfc/tsc/articles/mixing/にあるように,
GLCanvasはAWTでheavy weight componentなので,
light weight componentであるJMenu(Swing)の上から描画してしまうそうだ.

 じゃあSwingであるGLJPanelを使えって話だけれど,GLJPanelを含むフレームをリサイズするとオブジェクトが消えてしまうというバグがあるから嫌.

ってことで,menuはあきらめた.



ちなみに,GLPanelはpbufferをcomponentにコピーしてから描画するからGLCanvaより遅いそうだ.

0 件のコメント: