Ciao a tutti!

Devo inserire un JButton al centro di uno JScrollPane, ma ho un problema: riesco a inserire il bottone alla perfezione, solo che questo prende la dimensione dello JScrollPane invece che quella che gli setto io, occupando tutto il pannello.
Questo è il codice che uso:


JButton buttonAllegato = new JButton("",new ImageIcon("..."));
buttonAllegato.setPreferredSize(new Dimension(100,100));
JScrollPaneImmagine.getViewport().removeAll();
JScrollPaneImmagine.getViewport().add(buttonAllega to);
JScrollPaneImmagine.getViewport().validate();
JScrollPaneImmagine.getViewport().repaint();


Idee del motivo e di come risolvere il problema?