# Position eines JLabel in einem JPanel



## Hayzle (7. Feb 2015)

Hallo zusammen,

ich habe angefangen mich das erste Mal internsiver mit GUI-Programmierung zu beschäftigen. Deshalb betrifft meine Frage wahrscheinlich das Grundverständnis des Zusammenspiels von Grafikkomponenten.

Also ich habe ein JFrame, darin ein JPanel mit BorderLayout. Dem BorderLayout.South weise ich nochmal ein JPanel zu, diesem wiederum ein JLabel:


```
JFrame mainFrame = new JFrame("Frame");
JPanel mainPanel = new JPanel(new BorderLayout());
JPanel south = new JPanel();
JLabel connDialog = new JLabel("FOOBAR");

mainFrame.setSize(700, 500);
mainFrame.setLocationRelativeTo(null);	
mainFrame.add(mainPanel);
south.add(connDialog);		
mainPanel.add(south, BorderLayout.SOUTH);
```

Ich habe auch versucht dem 'untersten' JPanel ein FlowLayout zuzuweisen:


```
JPanel south = new JPanel(new FlowLayout());
south.add(connDialog, FlowLayout.LEFT);
```

So, das Problem ist das der Text zentriert dargestellt wird (Bild unten), sowohl vertikal als auch horizontal. Ich möchte aber, dass es linksbündig ist und vor allem, dass oben und unten kein Rand ist. (Wieso ist der da?)



Fast das gewünschte Ergebnis habe ich erreicht, als ich das JLabel direkt dem ersten JPanel zugewiesen habe:


```
mainPanel.add(connDialog, BorderLayout.SOUTH);
```

Das Problem ist eben, dass ich gerne mehr Items in der Leiste unterbringen würde, was bei der Lösung nicht möglich ist.

Schonmal vielen Dank für Lösungen und Erklärungen =)

Grüße!
Maik


----------



## strußi (7. Feb 2015)

hier ist eine gute seite von oracle über alle swing komponenten und fenster, auch immer mit einem Beispiel
swing von Oracle


----------



## michaels (7. Feb 2015)

Ein FlowLayout für dein South-Panel hört sich für mich gut an. Wenn ich dich richtig verstehen, willst du doch nur deinem FlowLayout sagen, dass es Links anfangen soll? Dann musst du einfach einen anderen Konstruktor verwenden und das alignment angeben: FlowLayout (Java Platform SE 8 )
Das Abstand kommt von den gaps. Die betragen im Standard "5". Kannst du natürlich auch ändern: FlowLayout (Java Platform SE 8 )
Viele Grüße


----------

