2012-01-30 23 views
5

Vì một số lý do lạ khi tôi cố gắng sử dụng HTML với JOptionPane, thẻ HTML được in thay vì định dạng HTML.Khi tôi cố gắng sử dụng HTML với `JOptionPane`, thẻ HTML được in thay vì định dạng 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); 

và đầu ra là:

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

Trả lời

5

Kèm theo toàn bộ chuỗi của bạn trong các thẻ html.

+1

Cảm ơn bạn rất nhiều – jadrijan

4

Thẻ <HTML></HTML> chỉ định đầu vào ở dạng HTML. Nếu bạn muốn sử dụng HTML trong các thành phần Swing, chúng phải không phải là HTML hoặc hoàn toàn bằng HTML. Bạn có thể thay đổi hình nền của văn bản bằng cách sử dụng thẻ <FONT>, Nó cũng có thể là neater để kèm theo văn bản của bạn trong các thẻ <P>, nhưng đó là một câu hỏi về hương vị.

Hãy thử sử dụng

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

Cảm ơn bạn rất nhiều – jadrijan

9

Cũng đáng chú ý: có vẻ như có một dòng mới trong chuỗi của bạn gây nên JOptionPane-không làm cho chuỗi dưới dạng HTML, trong khi ví dụ JLabelhiện cho phép dòng mới trong HTML.

+0

Nói cách khác, hãy thay thế \ n bằng
trong các thẻ html. – dimeros

Các vấn đề liên quan