Swing Positionierung eines Labels in einem Panel

Sklo

Mitglied
Das MAIN:
Java:
package fenster;

import java.awt.*;
import javax.swing.*;

public class Main {
    public static void main(String[] args) {

        Fenster f = new Fenster();
        f.setLayout(new BorderLayout());
        f.setVisible(true);
        f.setTitle("Mein erstes Fenster");
        f.setSize(500, 250);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLocation(100, 100);

    }

}
Die Klasse Fenster
Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fenster;


import java.awt.*;
import javax.swing.*;

/**
 *
 * @author hormannbernhard
 */
public class Fenster extends JFrame {

    private JPanel p1 = new JPanel();
    private JPanel p2 = new JPanel();
    private JLabel l = new JLabel("Hallo Welt!!");
    private JLabel g = new JLabel("egsghmghcmgh,jghm");
    private JButton b = new JButton();
    private JRadioButton d = new JRadioButton();

    public Fenster() {

   

            this.getContentPane().add(this.p1,BorderLayout.CENTER);
            p1.setLayout(new  java.awt.BorderLayout());
            p1.setSize(500,500);
            
            //p2.setLayout(new  java.awt.BorderLayout());
            //this.getContentPane().add(this.p2,BorderLayout.LINE_START);
           
            

           //l = new JLabel("Hallo Welt!!");
           //p1.add(l,BorderLayout.CENTER);
            p1.add(l, java.awt.BorderLayout.CENTER);
            l.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            // p1.add(g, java.awt.BorderLayout.NORTH);
            //g.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
            
            //getContentPane().add(d,BorderLayout.CENTER);

            //  b= new JButton("Drück mich :P");
            // p2.add(b,BorderLayout.SOUTH);
              
            this.pack();




    }
}
in Zeile 30 versuche ich das Panel zu vergrößern.
Die kommentare sind dann das nachfolgende wenn ich es geschaft habe das Label zu zentrieren
Meine Pläne:

Mal fürs erste ein Fenster mit allem runderum zu machen. OK
Einen Text in einem Panel in der Mitte! Geht nicht
Mein Ziel:
_____________________________
|
|
|
|
Hallo Welt!!​
|
|
|_____________________________

atm:
_____________________________
| Hallo Welt!!
|
|
|
|
|
|_____________________________
 
Bei mir wird das Label korrekt mittig angezeigt.
Ich habe nur den setSize aufruf geändert in:
Java:
p1.setPreferredSize(new Dimension(500,500));

EDIT:
Hab grad deine Main übersehen.
Nen Teil der aufrufe brauchst du nicht. Lediglich title und defaultcloseoperation würde ich drin lassen. Die Aufrufe würd ich dann aber auch in den Konstruktor schreiben.
Zum starten dann einfach:
Java:
	public static void main(String[] args) {
        Fenster f = new Fenster();
        f.setVisible(true);
	}
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben