我有一个HTML文件,我需要在JTextPane
中显示它。
editor.setPage("file:///" + new File("test-resources/test.html").getAbsoluteFile());
这很正常。它使用我修改过的HTML编辑器套件,并根据需要显示特殊标签。但修改后的文件并不完全是HTML。它应该有另一个扩展。但这是一个问题。
editor.setPage("file:///" + new File("test-resources/test.xhtbm").getAbsoluteFile());
该文件刚刚重命名,现在显示为纯文本。有没有办法强制JTextPane
打开HTML文件,扩展名为XHTBM作为HTML文件?如果使用JTextPane
?
答案 0 :(得分:4)
另一种方法是使用JEditorPane
并致电JEditorPane.setContentType(String)
。
有关详细信息,请参阅setContentType(String)。
..例如,如果类型指定为
text/html; charset=EUC-JP
,则将使用为text/html
注册的EditorKit加载内容,并且提供给EditorKit的Reader将unicode加载到文档中将使用{转换为unicode的{1}} charset ..
答案 1 :(得分:0)
已找到解决方案(请参阅the post JEditorPane and custom editor kit):
public void openFile(String fileName) throws IOException {
editor.setEditorKit(new ModifiedHTMLEditorKit());
ModifiedHTMLDocument doc = (ModifiedHTMLDocument)editor.getDocument();
try {
editor.getEditorKit().read(new FileReader(fileName), doc, 0);
}
catch (BadLocationException b) {
throw new IOException("Could not fill data into editor.", b);
}
}
这是正确的技术。