Text in der Mitte von Komponenten platzieren
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenJButtons stellen Text standardmäßig mittig dar.
Bei selbsterzeugten Schaltflächen durch Zeichnen in der paintComponent()-Methode, oder Verwendung eines JLabel
ist das aber nicht der Fall.
Buttons selbst zeichnen
Ihr braucht einen Font, einen eigens programmierten Button, und natürlich Text, der im ausgewählten Font
formatiert ist.
xPosOfText = ((button.getWidth() - font.getWidth(text)) / 2);
Um die y-Koordinate zu berechnen muss man das Gleiche machen, nur mit
.getHeight()
yPosOfText = ((button.getHeight() - font.getHeight()) / 2);
Man kann einfache, grafische Buttons auch mit einem JLabel erzeugen, in dem man eine Grafik als Hintergrund einbaut.
Der Text bleibt davon aber unberührt und wird daher standardmäßig linksbündig dargestellt.
Text in JLabel zentrieren
Bei dieser Methode kann das bereits im Konstruktor festgelegt werden.
JLabel label = new JLabel("<html><center><i>Mittig ausgerichteter, kursiver Text</i></center></html>");
oder auch durch Aufruf von Methoden:
JLabel label = new JLabel("Mittig ausgerichteter Text");
label.setHotizontalAlignment(JLabel.CENTER);