its may be you expected. but don't use null layout. JScrollPane not work with null layout.
import java.awt.GridLayout;
import java.awt.HeadlessException;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class ScrollLabel extends JFrame {
    public ScrollLabel() throws Exception {
        setSize(300, 300);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        panel = new JPanel(new GridLayout());
        pane = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        label = new JLabel();
        ImageIcon icon = new ImageIcon(ImageIO.read(new File(getClass().getResource("baby.jpg").toURI())));
        label.setIcon(icon);
        panel.add(label);
        add(pane);
        repaint();
    }
    public static void main(String[] args) throws Exception {
        new ScrollLabel();
    }
    JPanel panel;
    JLabel label;
    JScrollPane pane;
}