Java 将HTML内容添加到与JTextPane关联的文档中
我有一个关于我正在制作的一些简单控制台的问题。我知道可以使用前面设置的Java 将HTML内容添加到与JTextPane关联的文档中,java,html,swing,document,jtextpane,Java,Html,Swing,Document,Jtextpane,我有一个关于我正在制作的一些简单控制台的问题。我知道可以使用前面设置的setContentType(“text/html”)函数setText()将html内容添加到JTextPane中。但是为了满足应用程序的需要,我需要直接使用javax.swing.text.Document,这是通过getDocument()函数得到的(例如,对于删除行和添加新行,是的,这是我正在制作的一种控制台,我已经在前面的StackOverflow问题中看到了几个示例,但没有一个符合我的需要)。因此,我想要的是将HT
setContentType(“text/html”)函数setText()
将html内容添加到JTextPane中代码>。但是为了满足应用程序的需要,我需要直接使用javax.swing.text.Document,这是通过getDocument()
函数得到的(例如,对于删除行和添加新行,是的,这是我正在制作的一种控制台,我已经在前面的StackOverflow问题中看到了几个示例,但没有一个符合我的需要)。因此,我想要的是将HTML插入文档并在我的JTextPane上正确呈现。问题是,当我使用insertString()
方法(属于文档)添加HTML内容时,JTextPane不会呈现它,并且在输出中我会看到所有HTML标记。是否有任何方法可以使其正常工作
这就是我插入文本的方式:
text_panel = new JTextPane();
text_panel.setContentType("text/html");
//...
Document document = text_panel.getDocument();
document.insertString(document.getLength(), line, null);
text_panel.setCaretPosition(document.getLength());
您需要使用一个
JTextPane text_panel=new JTextPane();
HTMLEditorKit=新的HTMLEditorKit();
HTMLDocument doc=新的HTMLDocument();
text_panel.setEditorKit(套件);
text_panel.setDocument(文档);
insertHTML(doc,doc.getLength(),“hello”,0,0,HTML.Tag.B);
insertHTML(doc,doc.getLength(),“world”,0,0,null);
谢谢,这是我所需要的;)我一直在寻找这个,它很有帮助,非常感谢,但是,对于超链接,用户界面渲染以蓝色显示悬停和下划线时的文本没有发生。有什么帮助吗
JTextPane text_panel = new JTextPane();
HTMLEditorKit kit = new HTMLEditorKit();
HTMLDocument doc = new HTMLDocument();
text_panel.setEditorKit(kit);
text_panel.setDocument(doc);
kit.insertHTML(doc, doc.getLength(), "<b>hello", 0, 0, HTML.Tag.B);
kit.insertHTML(doc, doc.getLength(), "<font color='red'><u>world</u></font>", 0, 0, null);