2012-01-30 10 views
5

Z jakiegoś dziwnego powodu, kiedy próbuję użyć HTML z JOptionPane, znaczniki HTML są drukowane zamiast formatowania HTML.Kiedy próbuję użyć HTML z `JOptionPane`, znaczniki HTML są drukowane zamiast formatowania 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); 

i wyjście jest:

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

Odpowiedz

4

Znacznik <HTML> i </HTML> określa, że ​​dane wejściowe są w formacie HTML. Jeśli chcesz używać HTML w komponentach Swing, muszą to być HTML lub całkowicie HTML. Możesz zmienić tło tekstu za pomocą znacznika <FONT>. Może być również bardziej przestrzenne zawijanie tekstu w tagach <P>, ale to raczej kwestia gustu.

Spróbuj użyć

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

Bardzo dziękuję – jadrijan

9

Warto również zauważyć: wydaje się, że o nowej linii w swojej ciąg wyzwala JOptionPane do nie renderować ciąg jako HTML, podczas gdy na przykład JLabelma zezwala na nowe linie w kodzie HTML.

+0

Innymi słowy, zamień \ n na
w znacznikach html. – dimeros

Powiązane problemy