Java 如何将HTMLDocument分配到JEditorPane中以作为源代码进行修改?
我想知道是否可以使用setDocument方法将现有的javax.swing.text.HTMLDocument分配给JEditorPane或JTextPane,但可以使用代码完成等来显示源代码。它还应该允许修改它,以便同步2个不同的视图,我已经有一个jEditor要设计了 如何将HTMLDocument分配到JEditorPane以作为源代码进行修改?您可以尝试以下方法: 它不使用setDocument,但将显示源代码Java 如何将HTMLDocument分配到JEditorPane中以作为源代码进行修改?,java,swing,jeditorpane,dom,Java,Swing,Jeditorpane,Dom,我想知道是否可以使用setDocument方法将现有的javax.swing.text.HTMLDocument分配给JEditorPane或JTextPane,但可以使用代码完成等来显示源代码。它还应该允许修改它,以便同步2个不同的视图,我已经有一个jEditor要设计了 如何将HTMLDocument分配到JEditorPane以作为源代码进行修改?您可以尝试以下方法: 它不使用setDocument,但将显示源代码 JTextPane jtPane = new JTextPane();
JTextPane jtPane = new JTextPane();
StringBuilder st = new StringBuilder();
String s;
try {
FileInputStream f = new FileInputStream("abc.html");
BufferedReader reader = new BufferedReader(new InputStreamReader(f));
while((s=reader.readLine())!=null){
st.append(s);
}
jtPane.setText(st.toString());
}
catch (Exception e)
{
e.printStackTrace();
}
这一个使用Document和setDocument:
我相信这是可能的。你想要什么样的答案?谢谢你的回复。。。我正在寻找一个单一的例子或链接到一些文件,我可以阅读如何做到这一点。。。我已经做了很多测试,但我就是做不到,这不是我想要的。。。让我澄清一下:我已经构建了一个复杂的wysimolwyg编辑器,您看到的或多或少都是您得到的。。。我已经为它做了一个代码视图,但是为了同步这两个视图,我所做的只是调用setText方法,将完整的html代码作为参数,但是这样做,我有两个不同的文档对象。。。至少因为每次我在视图之间切换时,这个方法都会使用修改后的字符串构建一个新的文档对象。。。所以,我一直在尝试在两个编辑器上使用相同的文档,使用一个编辑器来显示源代码。
String s;
Document doc = jp2.getDocument();
try {
FileInputStream f = new FileInputStream("abc.html");
BufferedReader reader = new BufferedReader(new InputStreamReader(f));
while((s=reader.readLine())!=null){
doc.insertString(doc.getLength(), s+"\n", null);
}
jtPane.setDocument(doc);