I’m using several GLCanvas in a GridBagLayout for some scientific displays. Part of the inferface involves hiding and showing various displays. The GLCanvas shows interesting behavior.
Imagine a grid bag of 2 rows, 1 column, fill = BOTH. I’ve placed a GLCanvas in each. If I hide one (setVisible(false)) and relayout, everything works fine. The other canvas reclaims the space. Fantastic. Now I show the hidden canvas (setVisible(true)) and relayout. The hidden canvas comes back up far smaller than previously and the weighting between the two canvases is no longer 50/50 like when I started.
Now I’ve modified GLCanvas to return Dimenion(0,0) for getMinimumSize() and everything works like a champ, no longer do the sizes get all borked. I feel like this fix actually goes higher than GLCanvas and into Canvas.
Is this really a bug at the Jogl level? Java level? Am I missing something here?
If that wasn’t clear, I can post code.