Wie lässt sich der Textsatz auf einem JLabel
einstellen?
Text lässt sich auf einem JLabel
mit Hilfe des
Interfaces SwingConstants
horizontal und vertikal
setzen. Dies kann auf zweierlei Weise geschehen. Entweder man
importiert das Interface javax.swing.SwingConstants
und
greift direkt auf dessen Felder zu oder man macht sich zunutze, dass
die Klasse JLabel
das Interface implementiert.
Das Code-Beispiel demonstriert beides. In der Methode createLabel()
wird das Label erzeugt. Hierzu wird ein Konstruktor verwendet, der
direkt eine int
-Konstante zur Angabe des horizontalen
Textsatzes als zweiten Parameter übergeben bekommt. Im Beispiel
ist dies der o.a. Zugriff auf das Interface SwingConstants
.
Selbstverständlich können hier statt CENTER
weitere Konstanten angegeben werden.
Es muss beachtet werden,
dass über den Konstruktor in der Tat nur der horizontale Satz
angegeben werden kann. Der vertikale Textsatz lässt sich nur
durch gesonderten Aufruf der Methode setVerticalAlignment()
festlegen. Als Parameter wird in diesem Fall die durch JLabel
von SwingConstants
geerbte Variable BOTTOM
verwendet. Analog kann der horizontale Textsatz neben der o.a.
Variante auch durch die Methode setHorizontalAlignment()
festgelegt werden.
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.LineBorder;
public class LabelZentriert {
public LabelZentriert() {
init();
}
private void init() {
JFrame frame = new JFrame("Label zentriert");
frame.add(createLabel());
frame.setSize(300, 180);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
private static JLabel createLabel() {
JLabel label = new JLabel("Ein Text", SwingConstants.CENTER);
label.setVerticalAlignment(JLabel.BOTTOM);
label.setBorder(new LineBorder(Color.BLACK));
return label;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new LabelZentriert());
}
}
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.