[Swing] Labeltext zentrieren klappt nicht

vfl_freak

Premium-User
Hallo zusammen,

irgendwie stehe ich im Moment ein bisschen auf dem Schlauch :rolleyes:

Ich versuche schon seit drei Stunden in einem neuen Dialog auf einem JLabel einen Text zentriert darzustellen, aber irgendwie klappt es nicht wirklich (ist immer linksbündig)

Java:
JLabel lblAktivAnzeige = new JLabel();
...
lblAktivAnzeige.setOpaque( true );
lblAktivAnzeige.setVerticalTextPosition( SwingConstants.CENTER ); // bringt nix
lblAktivAnzeige.setAlignmentX( CENTER_ALIGNMENT ); // bringt auch nix
...
lblAktivAnzeige.setBackground( Color.GREEN );
lblAktivAnzeige.setForeground( Color.BLACK );
String sLblAktiv = "<html><center><b>Eintrag aktiv</b></center></html>"; // klappt auch nicht (fett ja, aber nicht zentriert)
lblAktivAnzeige.setText( sLblAktiv );
...
pnTop.add( lblAktivAnzeige );

Wenn ich die APIs richtig verstehe, könnte ich mir die ersten beiden Varianten doch eh' sparen, weil dort jeweils CENTER der Default-Wert, oder :confused:

Hat jemand einen Tipp für mich?

Danke im voraus!
LG aus OS
Klaus
 
Hallo,

versuche es doch mal mit

Code:
label.setHorizontalAlignment(JLabel.CENTER);
label.setVerticalAlignment(JLabel.CENTER);

Gruß

Sascha
 
Hallo Sascha,

super, genau das war es :p

Aber mal ganz dumm gefragt, was bewirken denn dann genau die beiden anderen Funktionen :confused:
Java:
// API: sets the vertical position of the label's text, relative to its image. The default value of this property is CENTER.lblAktivAnzeige.setVerticalTextPosition( SwingConstants.CENTER );
// API: sets the vertical alignment 
lblAktivAnzeige.setAlignmentX( CENTER_ALIGNMENT );


Die erste Variante klingt doch eigentlich eindeutig ...
Und bei der zweiten habe ich vorhin schon gefragt: alignment von was? Vom Label selbst :confused:

Danke und Gruß
Klaus
 
Hallo,

der erste Variante von dir, macht genau das was sie aussagt. ;-)
Wenn du ein Icon im Label setzt, wird halt gesagt, wo sich der Text relativ zum Icon befindet. Aber nicht wo sich der Text im Label befindet.

Eine Erklärung zu der zweiten Variante liefert die get-Variante.
Returns the alignment along the x axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.


Gruß

Sascha
 
Zurück