2012-01-30 26 views
5

Por algún extraño motivo cuando intento usar HTML con JOptionPane, se imprimen etiquetas HTML en lugar de formato HTML.Cuando trato de usar HTML con `JOptionPane`, se imprimen etiquetas HTML en lugar de formato HTML

String msg = "Please fix <HTML><BODY BGCOLOR=#FFCCCC>this</BODY></HTML>"; 
JLabel message = new JLabel(msg); 
JOptionPane.showMessageDialog(MyApp.this, message, "Error!", JOptionPane.ERROR_MESSAGE); 

y la salida es:

Please fix <HTML><BODY BGCOLOR=#FFCCCC>this</BODY></HTML> 

Respuesta

5

Encierre toda la cadena dentro de las etiquetas html.

+1

Muchas gracias – jadrijan

4

La etiqueta <HTML> y </HTML> especifica que la entrada está en HTML. Si desea usar HTML en componentes Swing, no deben ser HTML o estar completamente en HTML. Puede cambiar el fondo del texto utilizando la etiqueta <FONT>, también podría ser mejor incluir su texto en las etiquetas <P>, pero eso es más una cuestión de gusto.

Intente utilizar

String msg = "<HTML><BODY><P>Please fix <FONT style="BACKGROUND-COLOR: #FFCCCC"> this</FONT></P></BODY></HTML>"; 
+0

Muchas gracias – jadrijan

9

También digno de mención: parece que el tener una nueva línea en la cadena desencadena JOptionPane-no hacen que la cadena como HTML, mientras que, por ejemplo, JLabelhace permitir nuevas líneas en el HTML.

+0

En otras palabras, reemplace \ n con
dentro de las etiquetas html. – dimeros