Wie kann man den Text in einem Meldungsfenster (Message Dialog) im Mittelsatz setzen?
Im gezeigten Beispiel ist eine Klasse CustomizableMessageDialog
deklariert, deren statische Methode zeigeMessage()
zwei Parameter vom Typ Component
und String
übergeben bekommt. Der erste bezieht sich auf die
Elternkomponente, an der der Dialog ausgerichtet werden
soll. Er kann null
sein. Der zweite
enthält einen Text, der auf dem Dialog im
Mittelsatz gezeigt werden soll.
Um dies zu
erreichen wird ein JLabel
erzeugt, das
bekanntlich auch HTML versteht. Entsprechend wird ein
einfacher HTML-Text erzeugt, der in den Tags <html></html>
eingeschlossen ist. Zur Textzentrierung dient das
veraltete und längst als deprecated
markierte center
-Tag. Hier ist schade,
dass Java an dieser Stelle gar kein und an anderen
Stelle kaum CSS versteht.
Das Label und
die Komponente werden in der letzten Konstruktor-Zeile
an die Methode JOptionPane.showMessageDialog()
übergeben, die hier in der einfachsten Version mit
zwei Parametern aufgerufen wird.
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class CustomizableMessageDialog {
public static void main(String[] args) {
zeigeMessage(null, "Dies ist ein <br>zentrierter Text");
}
public static void zeigeMessage(Component comp, String message) {
String txt = "<html><center>" + message + "</center></html>";
JLabel label = new JLabel(txt);
JOptionPane.showMessageDialog(comp, label);
}
}
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.