I have a JScrollpane
that has a JPanel
on the inside (and the panel contains some JLabel
s).
I want resizing the scroll pane to actually change its size (possibly below the preferred size of the inner components), not just the size of the viewport.
The goal is for the inner panel to gracefully disappear (using specific shrink priorities and the like in my miglayout) when the user shrinks the scrollpane too small.
Probably the best method is to have the contained component always be the same width as the viewport. To do this the first contained component (the one that is the child to
JViewPort
, passed into theJScrollPane
constructor or set as theviewportView
) needs to implementjavax.swing.Scrollable
. The key method isgetScrollableTracksViewportWidth
, which should returntrue
.Here's a quick and dirty scrollable JPanel :