2012-04-26 19 views
6

Tengo un JLabel con texto y quiero agregarle otro texto, pero este último será de un color diferente al anterior (por ejemplo, rojo). Lo he intentado:Cambiar el color de algunos textos en un JLabel

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

Pero no funciona. Simplemente muestra las etiquetas HTML pero no las renderiza. ¿Alguna sugerencia? ¿Es posible cambiar el color de algunos textos en un JLabel?

+0

¿Has probado 'label.setForeground()'? –

+0

Ese método cambia el color de todo el texto en la etiqueta. Solo quiero un par de palabras en un color diferente. –

+1

¿Qué pasa con 'setText (" "+ statusLabel.getText() +" "+ mensaje +" ")'? –

Respuesta

9

Prueba esto:

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

O para usted el caso de que se puede construir la cadena como esta:

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

Gracias! Eso ayudó. –

Cuestiones relacionadas