Как найти JLabels в абсолютной позиции в графическом интерфейсе Java
-
22-08-2019 - |
Вопрос
у меня много JLabel
с (в том числе ImageIcon
с) в JPanel
.
И это JPanel
это всего лишь панель в графическом интерфейсе;есть много других панелей.
Я хочу разместить метки с точными координатами пикселей на их JPanel
контейнер.
Как я могу это сделать, не используя GroupLayout
?
Решение
Видеть Как обойтись без менеджера по расположению (абсолютное позиционирование) в учебниках по Java.
Создание контейнера без менеджера макетов включает в себя следующие шаги.
- Установите для менеджера компоновки контейнера значение null, вызвав
setLayout(null)
.- Позвоните в
Component
классsetbounds
метод для каждого из дочерних элементов контейнера.- Позвоните в
Component
классrepaint
метод.
Другие советы
Или
- установить обычай
LayoutManager
(Container.setLayout
) на панели, которая устанавливает точные позиции, которые вы хотите, или - установить
null
менеджер по расположению (myPanel.setLayout(null);
) и установить позиции компонентов извне (Component.setBounds
).
Взгляните на MigLayout, который позволяет выполнять абсолютное позиционирование, он не является частью JDK. но отдельная загрузка.
Это очень хорошо с точки зрения менеджеров по расположению и выполнения абсолютного позиционирования, а также множества других функций.