Hello,
I am developing an application using JOGL. In SDI format, everything works fine, all threads are terminated once the application is closed.
But if i try to run the application in MDI mode by using JInternalFrames, closing the JInternalFrame container for the GLCanvas does nothing to the GLCanvas screen and the canvas retains the last image displayed and stays on the screen. I am posting the screen shots, as i cannot post the code. Any help regarding the reason as to why this might be happening is welcome.
-
This is the screen shot with the 2 internal frames open. The darker frame is the one containing the GLCanvas.
http://thumbnails.imajr.com/screen1_459811.JPG
-
This the screen shot after closing the internal frame of the GLCanvas
http://thumbnails.imajr.com/screen2_459812.JPG
Now here is the hierarchy in which GLCanvas has been added
JFrame
JDesktopPane
JInternalFrame
JPanel
GLCanvas
I hav tried catching the JINternalFrameEvent and tried removing everything from the JFrame, but the canvas still sticks.
Problem 2
I know that GLCanvas is a heavy weight component and it will overlap all light weight components, is there a way in which this problem can be avoided, so that if some light weight components are behind the canvas, they are displayed normally.