Looks like the dock indeed makes a difference, replacing it with pushy growing cell constraint (and no filly in the layout constraint) works fine. Might be an option if you can live without the dock:
panel.add(new JScrollPane(new JTable(8, 5)), "span, pushy, growy");