Если ваша программа (не пользователь) устанавливает местоположение компонентов, не делайте этого.Вместо этого используйте соответствующий менеджер макетов или комбинацию вложенных панелей с различными менеджерами макетов для достижения макета.
Прочтите учебник Swing на Менеджеры макетов для получения дополнительной информации и рабочих примеров.
JLabels создаются и могут быть перемещены с помощью setLocation (x, y)
Однако, если вы создаете приложение, которое позволяет пользователям перетаскивать компоненты по экрану,вам нужно использовать пустой макет, чтобы вы могли контролировать местоположение (и размер) каждого компонента.
Однако я бы порекомендовал вам взглянуть на Drag Layout .Это менеджер компоновки, который реализует большинство функций диспетчера компоновки, но позволит вам контролировать расположение компонента.
Однако всякий раз, когда я вызываю setVisible (true)
Кроме того, компоненты Swing видимы по умолчанию, поэтому нет необходимости вызывать этот метод, кроме как для контейнеров верхнего уровня (JFrame, JDialog и т. Д.).