Прежде всего, для этого не нужно расширять JLabel.
а) Вы устанавливаете размер метки после добавления изображения к метке с помощью:
label.setSize( label.getPreferredSize() );
b) Вам не нужен draw () и все методы установки. Чтобы переместить метку, все, что вам нужно сделать, это использовать:
label.setLocation(...);
в) если вы хотите увеличить местоположение, вы бы использовали что-то вроде:
label.setLocation (label.getLocation (). X + 5, ...);
После того, как вы установите размер и расположение метки, вы можете добавить ее непосредственно на панель. Убедитесь, что вы сделали:
panel.setPreferredSize()
при добавлении панели на панель содержимого вашего фрейма.
Ваш код слишком расплывчат, чтобы давать конкретные предложения. Если вам нужна дополнительная помощь, оставьте свой SSCCE . Ваша проблема может заключаться в использовании менеджера макета или в том, что вы не используете менеджеры макета.