Если вы хотите расположить одно изображение поверх другого, проще всего сделать так, чтобы менеджер компоновки сделал это за вас.
Итак, основная логика будет:
JLabel foreground = new JLabel( new ImageIcon() );
JLabel background = new JLabel( new ImageIcon(...) );
background.setLayout( new GridBagLayout() );
background.add(foreground, new GridBagConstraints() );
JScrollPane scrollPane = new JScrollPane( background );
add(scrollPane, BorderLayout.CENTER);
При использовании GridBagLayout с ограничениями по умолчанию любой добавленный компонент будет автоматически центрироваться в доступном пространстве.
Обратите внимание, JLabel на самом деле не предназначен для использования в качестве контейнера, поэтому этот подход будет работать только в том случае, если изображение на переднем плане меньше фонового изображения.