Como localizar JLabels para uma posição absoluta em Java GUI
-
22-08-2019 - |
Pergunta
Eu tenho muitos JLabel
s (que inclui ImageIcon
s) em um JPanel
.
E este JPanel
é de apenas um painel sobre a interface gráfica; existem muitos outros painéis.
Eu quero colocar rótulos para as coordenadas de pixel exatas sobre seu recipiente JPanel
.
Como posso fazer isso sem usar GroupLayout
?
Solução
fazendo sem um Layout Manager (posicionamento absoluto) nos tutoriais Java.
Criação de um recipiente sem um gerenciador de layout envolve as seguintes etapas.
- Definir gerenciador de layout do contêiner para nula chamando
setLayout(null)
.- Chama o método
Component
da classesetbounds
para cada um dos filhos do contêiner.- Chama o método
Component
da classerepaint
.
Outras dicas
De qualquer
- definir um costume
LayoutManager
(Container.setLayout
) no painel que define as posições exatas que você quer ou - definir um gerenciador de layout
null
(myPanel.setLayout(null);
) e definir posições componentes externamente (Component.setBounds
).
Dê uma olhada MigLayout, que permite que você faça o posicionamento absoluto, não é parte do JDK, mas um download separado
É muito bom, tanto quanto gerenciadores de layout ir e faz o posicionamento absoluto, além de toda uma carga de outras coisas.