当我尝试将 HTML 与 `JOptionPane` 一起使用时,会打印 HTML 标签而不是 HTML 格式
Posted
技术标签:
【中文标题】当我尝试将 HTML 与 `JOptionPane` 一起使用时,会打印 HTML 标签而不是 HTML 格式【英文标题】:When I try to use HTML with `JOptionPane`, HTML tags are printed instead of HTML formatting 【发布时间】:2012-02-22 12:49:52 【问题描述】:由于某些奇怪的原因,当我尝试将 html 与 JOptionPane
一起使用时,会打印 HTML 标记而不是 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);
输出是:
Please fix <HTML><BODY BGCOLOR=#FFCCCC>this</BODY></HTML>
【问题讨论】:
【参考方案1】:整个字符串需要包含在 HTML 标记中。例如:
button = new JButton("<html><b><u>T</u>wo</b><br>lines</html>");
有关详细信息,请参阅How to Use HTML in Swing Components。
【讨论】:
【参考方案2】:另外值得注意的是:似乎在你的字符串中有一个换行符会触发JOptionPane
not 将字符串呈现为 HTML,而例如JLabel
允许 HTML 中的换行符。
【讨论】:
换句话说,将\n替换为html标签中的。【参考方案3】:将整个字符串包含在 html 标记中。
【讨论】:
【参考方案4】:<HTML>
和 </HTML>
标记指定输入是 HTML。如果你想在 Swing 组件中使用 HTML,它们要么不是 HTML,要么完全是 HTML。您可以使用<FONT>
标签更改文本的背景,将您的文本包含在<P>
标签中可能会更整洁,但这更多的是品味问题。
尝试使用
String msg = "<HTML><BODY><P>Please fix <FONT style="BACKGROUND-COLOR: #FFCCCC"> this</FONT></P></BODY></HTML>";
【讨论】:
以上是关于当我尝试将 HTML 与 `JOptionPane` 一起使用时,会打印 HTML 标签而不是 HTML 格式的主要内容,如果未能解决你的问题,请参考以下文章