Comment localiser JLabels à une position absolue sur l'interface graphique Java
-
22-08-2019 - |
Question
J'ai beaucoup s (qui JLabel
comprend s ImageIcon
) dans un JPanel
.
Et ce n'est un GroupLayout
panneau sur l'interface graphique; il y a beaucoup d'autres panneaux.
Je veux placer des étiquettes au pixel les coordonnées exactes de leur conteneur <=>.
Comment puis-je faire cela sans utiliser <=>?
La solution
Voir Faire Sans un gestionnaire de mise en page (positionnement absolu) dans les tutoriels Java.
Création d'un conteneur sans un gestionnaire de mise en page comprend les étapes suivantes.
- Définir le gestionnaire de mise en page null du conteneur en appelant
setLayout(null)
.- Appelez la méthode de classe
Component
poursetbounds
chacun des enfants du conteneur.- Appelez la méthode de classe
repaint
<=>.
Autres conseils
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.