Writing HTML
The write( ) method
from JEditorPane takes advantage of
the writer installed as part of the HTMLEditorKit. In our previous example, that
writer is the HTMLWriter class.
Starting with a more generic styled document, you could also write HTML
with MinimalHTMLWriter. The classes
described in this section both extend from the AbstractWriter class. (See Figure 23-9.)

Figure 23-9. HTML document-writing class diagram
The AbstractWriter Class
In this chapter, we’ve talked about a variety of
strategies for saving document content. As of SDK 1.2, a new class
provides some assistance in creating a rendition of an in-memory
document structure suitable for saving as human-readable text. It
relies on the ElementIterator
class. AbstractWriter supports
indentation to clarify the document structure as well as maximum line
length to keep the generated output easy to read.
ElementIterator is a simple
iterator class (somewhat obviously) devoted to working with Element objects. It has the usual next( ) and previous( ) methods of any bidirectional
iterator. Both return objects of type Element. Unlike the new iterators in the
Collections API, there is no hasNext(
) method. Instead, next(
) or previous( ) return
null to signal the “end” of the
stream. As with the constructors for AbstractWriter, an ElementIterator can be built on a Document or start from a particular Element. This class is covered ...