Advanced AbstractDocument Event Model
The classes and interfaces we’ve
covered so far (DocumentEvent
,
EventType
, EventChange
, and
DocumentEventListener
) are all you need to
understand if you just want to receive and interpret
DocumentEvent
s via a
DocumentListener
. In the next few pages,
we’ll cover two additional classes used by
AbstractDocument
and its subclasses (and
subclasses you might create yourself). If you’re interested in
the details of how AbstractDocument
actually
manages undoable changes, read on. If not, you can safely skip ahead
to the next chapter.
Figure 20.10 is a class diagram showing the classes
and interfaces that make up the document event model. It includes the
related classes and interfaces from the undo
package. As we’ve already discussed, a
DocumentEvent
is characterized by its
EventType
and is made up of
ElementChang
e objects. Each
ElementChange
describes changes made to some
Element
. These changes are made up of a set of
Element
s added to the changed
Element
and a set of Element
s
removed from it.
Figure 20-10. DocumentEvent class diagram
The rest of this diagram shows how
AbstractDocument.DefaultDocumentEvent
and
AbstractDocument.ElementEdit
implement the
DocumentEvent
and
AbstractDocument.ElementChange
interfaces, while
extending classes from the undo
package to provide
events for both DocumentListener
s and
UndoableEditListener
s. We’ll get into the details ...
Get Java Swing now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.