Для этого не нужно писать собственный код. JLabel автоматически изменит свой размер при изменении значка.
Проблема в том, что вы используете пустой макет, а размер установлен на (200, 200), поэтому метка не может увеличиваться или уменьшаться.
Если вы хотите иметь фиксированную область для отображения метки, добавьте метку в область прокрутки и установите предпочтительный размер области прокрутки. Тогда при необходимости появятся полосы прокрутки.
Избавьтесь от нулевого макета и создайте правильный графический интерфейс с помощью менеджеров макетов. Вы спасете себя от горя.
Поскольку вы задаете много вопросов для начинающих, я предлагаю вам начать с изучения Swing основы. Менеджеры по раскладке хорошо прикрыты.