Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将HTML内容添加到与JTextPane关联的文档中_Java_Html_Swing_Document_Jtextpane - Fatal编程技术网

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);