【问题标题】:When I try to use HTML with `JOptionPane`, HTML tags are printed instead of HTML formatting当我尝试将 HTML 与 `JOptionPane` 一起使用时,会打印 HTML 标签而不是 HTML 格式
【发布时间】: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>

【问题讨论】:

    标签: java html swing joptionpane


    【解决方案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】:

        &lt;HTML&gt;&lt;/HTML&gt; 标记指定输入是 HTML。如果你想在 Swing 组件中使用 HTML,它们要么不是 HTML,要么完全是 HTML。您可以使用&lt;FONT&gt; 标签更改文本的背景,将您的文本包含在&lt;P&gt; 标签中可能会更整洁,但这更多的是品味问题。

        尝试使用

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

        【讨论】:

          猜你喜欢
          • 2016-01-02
          • 1970-01-01
          • 2014-12-01
          • 1970-01-01
          • 2013-03-18
          • 1970-01-01
          • 2011-01-27
          • 2020-10-28
          • 2019-05-02
          相关资源
          最近更新 更多