Hallo,
ich versuche gerade ein JLabel in einem BoxLayout dazu zu bringen, das der Text ganz links steht.
Ich habe verschiedene Methoden gefunden um die Ausrichtung zu ändern, einige beziehen sich auf das Label selbst und andere auf den Text, aber ich sehe bei manchen noch nicht ganz den Unterschied:
Ich habe 4 verschiedene Methoden, die sich auf Ausrichtungen beziehen gefunden::
Ich habe daraus ein Beispiel gebastelt und alle 4 benutzt und so gesetzt, dass es nach links gesetzt werden sollte.
Das Label ist auch etwas nach links gerückt, der Text ist aber nicht ganz links...
Ich verwende folgenden Code, aber es klappt wie gesagt nicht richtig:
Woran liegts, was kann ich daran ändern und wie genau unterscheiden sich die ganzen Befehle die ich zur Ausrichtung benutzt hab?
Danke schonmal für Antworten!
Edit:
Ich hab mal nen Border drum gemacht, damit ich genau sehe, von wo bis wo das Label geht, also das mit dem Text liegt nicht daran, dass der Text nicht richtig ausgerichtet wird, sondern das ganze label ist nicht nach ganz links gerückt wurden.
ich versuche gerade ein JLabel in einem BoxLayout dazu zu bringen, das der Text ganz links steht.
Ich habe verschiedene Methoden gefunden um die Ausrichtung zu ändern, einige beziehen sich auf das Label selbst und andere auf den Text, aber ich sehe bei manchen noch nicht ganz den Unterschied:
Ich habe 4 verschiedene Methoden, die sich auf Ausrichtungen beziehen gefunden::
Java:
//Angabe im Konstruktor
JLabel label = new JLabel("hallo", JLabel.LEFT);
//HorizontalAlignment (das gleiche, dass auch der Konstruktor setzt?)
label.setHorizontalAlignment(JLabel.LEFT);
//AlignmentX (ist glaub ich für BoxLayout wichtig)
label.setAlignmentX(0f);
//Und das sollte sich auf den Text beziehen
label.setHorizontalTextPosition(JLabel.LEFT);
Ich habe daraus ein Beispiel gebastelt und alle 4 benutzt und so gesetzt, dass es nach links gesetzt werden sollte.
Das Label ist auch etwas nach links gerückt, der Text ist aber nicht ganz links...
Ich verwende folgenden Code, aber es klappt wie gesagt nicht richtig:
Java:
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(500, 500));
final JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
JPanel panel2 = new JPanel();
panel2.setBackground(Color.green);
JPanel panel3 = new JPanel();
panel3.setBackground(Color.blue);
// Angabe im Konstruktor
JLabel label = new JLabel("hallo", JLabel.LEFT);
// HorizontalAlignment (das gleiche, dass auch der Konstruktor setzt?)
label.setHorizontalAlignment(JLabel.LEFT);
// AlignmentX (ist glaub ich für BoxLayout wichtig)
label.setAlignmentX(0f);
// Und das sollte sich auf den Text beziehen
label.setHorizontalTextPosition(JLabel.LEFT);
panel.add(label);
panel.add(panel2);
panel.add(panel3);
frame.add(panel);
frame.setVisible(true);
}
Danke schonmal für Antworten!
Edit:
Ich hab mal nen Border drum gemacht, damit ich genau sehe, von wo bis wo das Label geht, also das mit dem Text liegt nicht daran, dass der Text nicht richtig ausgerichtet wird, sondern das ganze label ist nicht nach ganz links gerückt wurden.
Zuletzt bearbeitet: