My code has a JPanel that contains three collapsible JPanels. The outer JPanel uses the BoxLayout to stack the three JPanels vertically. However, when I collapse a JPanel, the top JPanel will always expands to fill the region (even if I setMaximumSize() or such), whereas I want the lower JPanels to expand upward. It is generally glitchy. I was looking at the GridBagLayout, would that be more suitable for this sort of endeavor?
Thanks.
This is a VB image of what I dream about in my wildest dreams (images with title “Vertical Panels”):
I don’t know what a collapsable panel is. Does it collapse all the way to 0, or does is have a minimum height?
If you manage the maximum size to always equal the preferred size then you should be able to use a BoxLayout. Just make sure you also use:
at the bottom of your panel to allow the extra space to be used by the glue.
And that is the reason for creating a SSCCE and forgetting about your garbage code. All you need is a panel with 3 collapsable panels. Then you add a button to collapse the panel and see what happens. Its better to start with demo code then write 500 lines of code and find out it doesn’t work.