Ich habe viele JLabel
s (einschließlich ImageIcon
s) in JPanel
.
Und dieses JPanel
ist nur ein Panel auf der GUI; Es gibt viele andere Panels.
Ich möchte Beschriftungen auf die genauen Pixelkoordinaten in ihrem JPanel
Container setzen.
Wie kann ich das tun, ohne GroupLayout
zu benutzen?
Siehe Verzicht auf einen Layout-Manager (absolute Positionierung) in Java Tutorials.
Das Erstellen eines Containers ohne Layout-Manager umfasst die folgenden Schritte.
- Setzen Sie den Layout-Manager des Containers auf null, indem Sie
setLayout(null)
aufrufen.- Rufen Sie die
Component
-Methode dersetbounds
-Klasse für jeden untergeordneten Container des Containers auf.- Rufen Sie die
Component
-Methode derrepaint
-Klasse auf.
Entweder
LayoutManager
fest ( Container.setLayout
) in dem Panel, das festgelegt wurde die genauen Positionen, die Sie wollen oder null
-Layout-Manager ( myPanel.setLayout(null);
) und setzen Sie Komponentenpositionen extern ( Component.setBounds
). Sehen Sie sich MigLayout an, mit dem Sie absolut positionieren können, es ist nicht Teil des JDK, aber einen separaten Download .
Es ist sehr gut, was Layout-Manager betrifft und absolute Positionierung sowie eine ganze Menge anderer Dinge.
Tags und Links java user-interface swing design layout-manager