JOptionPane从字面上显示一些HTML标记

时间:2014-04-25 03:24:44

标签: java html swing joptionpane

我在Swing消息对话框中看到一些不一致的HTML显示。下面的第一个示例调用很好,但第二个示例将一个break标记显示为文字文本。这是怎么回事?

import javax.swing.*;

class Test {
    public static void main(String... args) {
        SwingUtilities.invokeLater(() -> {
            JOptionPane.showMessageDialog(null,
                "<html>line 1<br>line 2<br>line 3");
            JOptionPane.showMessageDialog(null,
                "<html>line 1<br>\nline 2<br>\nline 3");
        });
    }
}

2 个答案:

答案 0 :(得分:2)

不知道问题是什么,但看起来JLabel正确呈现HTML:

JLabel label = new JLabel("<html>line 1<br>\nline 2<br>\nline 3");
JOptionPane.showMessageDialog(null, label);

哪个没有意义,因为我认为JOptionPane会让JLabel呈现文本?

答案 1 :(得分:0)

所以做这样的事情

JOptionPane.showMessageDialog(null,
"<html>line 1<br>line 2<br>line 3");