Override the preferredSize
of the subpanels to 304x416 instead. The scrollpane relies on the preferred size of the content (which depends on the preferred size of its contents).
The layout manager will set the size of the subpanels depending on their preferred sizes, so your custom ones get overridden. Generally, you should get rid of null
layouts and learn to use the layout managers. Absolute placement leads to trouble all the time, and is not worth the hassle even when it does not.