Wie JLabels auf eine absolute Position auf Java GUI lokalisieren
-
22-08-2019 - |
Frage
Ich habe viele JLabel
s in einem ImageIcon
(die JPanel
s enthält).
Und das JPanel
ist nur ein Panel auf der GUI; es gibt viele andere Platten.
Ich mag Etiketten platzieren, um die genauen Pixel auf ihrem JPanel
Behälter koordiniert.
Wie kann ich tun, ohne GroupLayout
mit?
Lösung
Siehe Doing Ohne Layout Manager (absolute Positionierung) in den Java-Tutorials.
ohne Layout-Manager einen Container erstellen umfasst die folgenden Schritte.
- Stellen Sie den Layout-Manager des Containers zu null durch
setLayout(null)
Aufruf.- Rufen Sie die
Component
Methode dessetbounds
Klasse für jede der Kinder Behälter.- Rufen Sie die
Component
Methode desrepaint
Klasse.
Andere Tipps
Entweder
- setzen Sie eine benutzerdefinierte
LayoutManager
(Container.setLayout
) auf dem Panel, dass die genaue Positionen setzen Sie wollen oder - Satz einen
null
Layout Manager (myPanel.setLayout(null);
) und Komponente Positionen eingestellt extern (Component.setBounds
).
Werfen Sie einen Blick auf MigLayout, die Sie absolute Positionierung erlaubt, zu tun, es ist nicht Teil des JDK, aber ein separater Download
Es ist sehr gut so weit wie Layout-Manager gehen und tut absolute Positionierung, plus eine ganze Menge anderer Dinge.