2012-04-26 11 views
6

Ich habe ein JLabel mit Text, und ich möchte ein anderes Stück Text anfügen, aber das letztere wird eine andere Farbe als das erstere haben (z. B. rot). Ich habe es versucht:Ändern der Farbe eines Textes in einem JLabel

statusLabel.setText(statusLabel.getText() + 
    " <html><span style\"color: red\">" + message + "</span></html>"); 

Aber es funktioniert nicht. Es zeigt nur die HTML-Tags an, rendert sie aber nicht. Irgendwelche Vorschläge? Ist es möglich, die Farbe eines Teils des Textes in einem JLabel zu ändern?

+0

Haben Sie versucht, 'label.setForeground()'? –

+0

Diese Methode ändert die Farbe des gesamten Textes im Etikett. Ich möchte nur ein paar Wörter in einer anderen Farbe haben. –

+1

Was ist mit 'setText (" "+ statusLabel.getText() +" "+ Nachricht +" ")'? –

Antwort

9

Versuchen Sie folgendes:

setText("<html>Some text <font color='red'>some text in red</font></html>"); 

Oder Sie Fall können Sie die Zeichenfolge wie folgt aufbauen:

statusLabel.setText(String.format("<html>%s<font color='red'>%s</font></html>", 
     statusLabel.getText(), message)); 
+1

Dank! Das hat geholfen. –

Verwandte Themen