Не пытайтесь рассчитать размер этикетки !!!
и JLabel на нем - это точно длина текста.
Это именно то поведение по умолчанию, как работает JLabel.
Каждый компонент Swing отвечает за определение своего предпочтительного размера на основе свойств компонента.
В случае JLabel он будет смотреть на шрифт, границу текста и т. Д., Чтобы определить его предпочтительный размер.
Затем вы просто добавляете метку к фрейму, используя соответствующий менеджер раскладки, и метка будет отображаться в нужном размере.
Прочтите руководство по Swing на Менеджеры макетов , чтобы вы могли использовать соответствующий менеджер макетов для отображения вашего ярлыка в нужном размере.