2012-01-30 12 views
5

Per qualche strano motivo quando provo a utilizzare HTML con JOptionPane, i tag HTML vengono stampati anziché la formattazione HTML.Quando provo a utilizzare HTML con `JOptionPane`, i tag HTML vengono stampati invece della formattazione 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); 

e l'uscita è:

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

risposta

5

Racchiudi l'intera stringa all'interno di tag html.

+1

Grazie mille – jadrijan

4

I tag <HTML> e </HTML> specificano che l'input è in HTML. Se si desidera utilizzare l'HTML nei componenti Swing, non devono essere HTML o essere interamente in HTML. Puoi cambiare lo sfondo del testo usando il tag <FONT>, Potrebbe anche essere più ordinato racchiudere il tuo testo nei tag <P>, ma questa è più una questione di gusti.

Provare a utilizzare

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

Grazie mille – jadrijan

9

anche la pena notare: sembra che avere una nuova riga nella stringa di scattare JOptionPane-non rendere la stringa come HTML, mentre per esempio JLabelfa consentire le nuove righe nell'HTML.

+0

In altre parole, sostituire il \ n con lo
all'interno dei tag html. – dimeros