Cómo localizar JLabels a una posición absoluta en la GUI de Java
-
22-08-2019 - |
Pregunta
I tienen muchos JLabel
s (que incluye ImageIcon
s) en un JPanel
.
Y esto es sólo una GroupLayout
panel de la interfaz gráfica de usuario; hay un montón de otros paneles.
quiero poner etiquetas al píxel coordenadas exactas de su <=> contenedor.
¿Cómo puedo hacer eso sin usar <=>?
Solución
prescindir de un controlador de disposición (Posicionamiento absoluto) en los tutoriales de Java.
Creación de un contenedor sin un controlador de disposición implica los siguientes pasos.
- Establecer gestor de diseño del contenedor para nulo llamando
setLayout(null)
.- Llame al método de la clase
Component
setbounds
para cada uno de los niños del contenedor.- Llame al método
repaint
clase de <=>.
Otros consejos
Either
- set a custom
LayoutManager
(Container.setLayout
) on the panel that sets the exact positions you want or - set a
null
layout manager (myPanel.setLayout(null);
) and set component positions externally (Component.setBounds
).
Take a look at MigLayout, which allows you to do absolute positioning, it's not part of the JDK, but a seperate download.
It's very good as far as layout managers go and does absolute positioning, plus a whole load of other things.