So finden Sie JLabels an einer absoluten Position in der Java-GUI

8

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?

    
Ahmet Alp Balkan 15.05.2009, 15:09
quelle

3 Antworten

9

Siehe Verzicht auf einen Layout-Manager (absolute Positionierung) in Java Tutorials.

  

Das Erstellen eines Containers ohne Layout-Manager umfasst die folgenden Schritte.

     
  1. Setzen Sie den Layout-Manager des Containers auf null, indem Sie setLayout(null) aufrufen.
  2.   
  3. Rufen Sie die Component -Methode der setbounds -Klasse für jeden untergeordneten Container des Containers auf.
  4.   
  5. Rufen Sie die Component -Methode der repaint -Klasse auf.
  6.   
    
Michael Myers 15.05.2009, 15:19
quelle
3

Entweder

  • Legen Sie eine benutzerdefinierte LayoutManager fest ( Container.setLayout ) in dem Panel, das festgelegt wurde die genauen Positionen, die Sie wollen oder
  • Setzen Sie einen null -Layout-Manager ( myPanel.setLayout(null); ) und setzen Sie Komponentenpositionen extern ( Component.setBounds ).
Tom Hawtin - tackline 15.05.2009 15:19
quelle
3

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.

    
Jon 15.05.2009 15:26
quelle