Search code examples
javaswingjtextfield

Help on writing your own javax.swing.text.Document


I'm writing a Java TextComponent where the underlying document has some structure. It is very short, basically one line. I need to be able to override the response to inserting or deleting characters in some parts of the document.

My initial approach was to implement javax.swing.text.Document, but this seems to involve developing many associated classes (Element, EditorKit, View) and there don't seem to be many examples or tutorials on how to do this. There are plenty on using the pre-defined implementations.

Can anyone point me at tutorials or other aids for simple implementations of Document and what other classes I need to create to make this work.


Solution

  • If you just want to react to character insertion/deletion then maybe a DocumentFilter is the better approach. This will allow you to prevent the insertion of characters to the Document is you so desire. Read the JTextField API and follow the link to the Swing tutorial on "Text Component Features" for more information.