Как найти JLabels в абсолютной позиции на Java GUI - PullRequest
8 голосов
/ 15 мая 2009

У меня есть много JLabel с (включая ImageIcon с) в JPanel.

А это JPanel только панель в графическом интерфейсе; Есть много других панелей.

Я хочу разместить метки с точными пиксельными координатами в их JPanel контейнере.

Как я могу это сделать без использования GroupLayout?

Ответы [ 3 ]

9 голосов
/ 15 мая 2009

См. Обойтись без менеджера компоновки (абсолютное позиционирование) в руководствах по Java.

Создание контейнера без менеджера компоновки включает в себя следующие шаги.

  1. Установите менеджер макета контейнера в null, вызвав setLayout(null).
  2. Вызвать метод setbounds класса Component для каждого из дочерних элементов контейнера.
  3. Вызвать метод repaint класса Component.
3 голосов
/ 15 мая 2009

Посмотрите на MigLayout, который позволяет выполнять абсолютное позиционирование, это не часть JDK, , а отдельная загрузка .

Это очень хорошо с точки зрения менеджеров компоновки и делает абсолютное позиционирование плюс множество других вещей.

3 голосов
/ 15 мая 2009

Или

  • установить пользовательский LayoutManager (Container.setLayout) на панели, которая устанавливает желаемые позиции или
  • установить null менеджер компоновки (myPanel.setLayout(null);) и установить внешние позиции компонентов (Component.setBounds).
...