Reputation: 1643
I've a trivial question. I need to load an existing file into JEditorPane
using custom editor kit.
I've a editor kit, a file with some extension and I need to force the JEditorPane
to recognize my file and use my editor kit. I've found only, that's possibile, but nowhere how.
The kit is based on HTML and the file too. If file has the .html
extension, it works, but when I rename the file to .xhtbm
, it is opened as plain text. The content type is set to text/plain
, but I'm unable to register my editor kit for this type, because there is already registered another editor kit for this content type.
Actually the question is: Is really possible to associate some editor kit with some file type?
Upvotes: 1
Views: 3477
Reputation: 385
You Could:
static{
// register EditorKit for plaintext content
JEditorPane.registerEditorKitForContentType( "text/plain", "HtmlEditorKit" );
}
before your:
public static void main(String[] args){...}
Sorry for the Late Response!
Upvotes: 0
Reputation: 1643
Thanks a lot Stanislav. In his example (see the last page of article, method initEditor()
) I found the proper way. The mistake was in the order of commands. That works:
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);
}
}
Then I call openFile("test.xhtbm")
and all goes without friction.
Upvotes: 0
Reputation: 57421
Set your EditorKit and user the kit's read() method passing the file there.
The reader used in the read method should understand how to parse the content.
Upvotes: 2