我以前从未在JTextPane中使用过HTML,今天就开始使用它。我遇到了奇怪的结果。
这是我的简单代码,htmlStr包含一个标记:

public class HtmlInJTextPaneTest extends JFrame {
    private JTextPane jtp;
    private String htmlStr= "<html><body><b>What is this</b> <aa > ?? </body></html>";
    public HtmlInJTextPaneTest() {
        jtp = new JTextPane();
        jtp.setContentType("text/html");
        jtp.setText(htmlStr);
        //jtp.setEditable(false);

        //jFrame setup
        add(jtp);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(200, 100);
        setVisible(true);
    }
    public static void main(String[] args) {
        new HtmlInJTextPaneTest();
    }
}

其结果是:
我不知道为什么框(看起来像输入字段)中出现了标记名<aa>
当我将editable false设置为aa对象JTextPane时,它将消失。
    jtp.setEditable(false);

你能解释一下吗?

最佳答案

您可以使用这个http://java-sl.com/custom_tag_html_kit.html作为HTMLEditorKit中自定义标记支持的示例。

07-28 08:41