Search code examples
javaswinghtmleditorkit

How to open HTML file having another extension in JTextPane


I have a HTML file and I need to display it in JTextPane.

editor.setPage("file:///" + new File("test-resources/test.html").getAbsoluteFile());

This works properly. It uses my modified HTML editor kit and displays special tags as needed. But modified file is not exactly HTML. It should have another extension. But that's a problem.

editor.setPage("file:///" + new File("test-resources/test.xhtbm").getAbsoluteFile());

The file has been just renamed and is being displayed as plain text now. Is there some way to force JTextPane to open HTML file with extension XHTBM as HTML file? Am I forced to use HTML extension if using JTextPane?


Solution

  • The solution has been found (see 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);
        }
    }
    

    This is the proper technique.