java.lang.Objectjavax.swing.text.EditorKit
javax.swing.text.DefaultEditorKit
javax.swing.text.StyledEditorKit
javax.swing.text.html.HTMLEditorKit
All Implemented Interfaces:
Accessible, Cloneable, Serializable
Direct Known Subclasses:
MyHTMLEditorKit, BasicEditorKit
There are several goals of the HTML EditorKit provided, that have an effect upon the way that HTML is modeled. These have influenced its design in a substantial way.
The modeling of HTML is provided by the class HTMLDocument
.
Its documention describes the details of how the HTML is modeled.
The editing support leverages heavily off of the text package.
HTMLFactory
class. This can
be easily changed by subclassing or replacing the HTMLFactory
and reimplementing the getViewFactory method to return the alternative
factory.
JEditorPane.setPage
.
This is controlled by a property on the document. The method
createDefaultDocument can
be overriden to change this. The batching of work is done
by the HTMLDocument.HTMLReader
class. The actual
work is done by the DefaultStyledDocument
and
AbstractDocument
classes in the text package.
The support for this is provided by the StyleSheet
class. The presentation of the HTML can be heavily influenced
by the setting of the StyleSheet property on the EditorKit.
Timothy
- PrinzingNested Class Summary: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
public static class | HTMLEditorKit.LinkController | Class to watch the associated component and fire hyperlink events on it when appropriate. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
abstract public static class | HTMLEditorKit.Parser | Interface to be supported by the parser. This enables providing a different parser while reusing some of the implementation provided by this editor kit. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static class | HTMLEditorKit.ParserCallback | The result of parsing drives these callback methods.
The open and close actions should be balanced. The
flush method will be the last method
called, to give the receiver a chance to flush any
pending data into the document.
Refer to DocumentParser, the default parser used, for further information on the contents of the AttributeSets, the positions, and other info. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static class | HTMLEditorKit.HTMLFactory | A factory to build views for HTML. The following
table describes what this factory will build by
default.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
abstract public static class | HTMLEditorKit.HTMLTextAction | An abstract Action providing some convenience methods that may
be useful in inserting HTML into an existing document.
NOTE: None of the convenience methods obtain a lock on the document. If you have another thread modifying the text these methods may have inconsistent behavior, or return the wrong thing. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static class | HTMLEditorKit.InsertHTMLTextAction | InsertHTMLTextAction can be used to insert an arbitrary string of HTML
into an existing HTML document. At least two HTML.Tags need to be
supplied. The first Tag, parentTag, identifies the parent in
the document to add the elements to. The second tag, addTag,
identifies the first tag that should be added to the document as
seen in the HTML string. One important thing to remember, is that
the parser is going to generate all the appropriate tags, even if
they aren't in the HTML string passed in. For example, lets say you wanted to create an action to insert a table into the body. The parentTag would be HTML.Tag.BODY, addTag would be HTML.Tag.TABLE, and the string could be something like <table><tr><td></td></tr></table>. There is also an option to supply an alternate parentTag and addTag. These will be checked for if there is no parentTag at offset. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static class | HTMLEditorKit.InsertHRAction | InsertHRAction is special, at actionPerformed time it will determine the parent HTML.Tag based on the paragraph element at the selection start. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static class | HTMLEditorKit.NavigateLinkAction | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static class | HTMLEditorKit.ActivateLinkAction | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static class | HTMLEditorKit.BeginAction |
Field Summary | ||
---|---|---|
public static final String | DEFAULT_CSS | Default Cascading Style Sheet file that sets up the tag views. |
MutableAttributeSet | input | |
public static final String | BOLD_ACTION | The bold action identifier |
public static final String | ITALIC_ACTION | The italic action identifier |
public static final String | PARA_INDENT_LEFT | The paragraph left indent action identifier |
public static final String | PARA_INDENT_RIGHT | The paragraph right indent action identifier |
public static final String | FONT_CHANGE_BIGGER | The font size increase to next value action identifier |
public static final String | FONT_CHANGE_SMALLER | The font size decrease to next value action identifier |
public static final String | COLOR_ACTION | The Color choice action identifier The color is passed as an argument |
public static final String | LOGICAL_STYLE_ACTION | The logical style choice action identifier The logical style is passed in as an argument |
public static final String | IMG_ALIGN_TOP | Align images at the top. |
public static final String | IMG_ALIGN_MIDDLE | Align images in the middle. |
public static final String | IMG_ALIGN_BOTTOM | Align images at the bottom. |
public static final String | IMG_BORDER | Align images at the border. |
Fields inherited from javax.swing.text.StyledEditorKit: |
---|
currentRun, currentParagraph, inputAttributes |
Constructor: |
---|
|
Method from javax.swing.text.html.HTMLEditorKit Summary: |
---|
clone, createDefaultDocument, createInputAttributes, deinstall, getAccessibleContext, getActions, getContentType, getDefaultCursor, getInputAttributes, getLinkCursor, getParser, getResourceAsStream, getStyleSheet, getViewFactory, insertHTML, install, isAutoFormSubmission, read, setAutoFormSubmission, setDefaultCursor, setLinkCursor, setStyleSheet, write |
Methods from javax.swing.text.StyledEditorKit: |
---|
clone, createDefaultDocument, createInputAttributes, deinstall, getActions, getCharacterAttributeRun, getInputAttributes, getViewFactory, install |
Methods from javax.swing.text.DefaultEditorKit: |
---|
createCaret, createDefaultDocument, getActions, getContentType, getInputAttributes, getViewFactory, read, read, write, write |
Methods from javax.swing.text.EditorKit: |
---|
clone, createCaret, createDefaultDocument, deinstall, getActions, getContentType, getViewFactory, install, read, read, write, write |
Methods from java.lang.Object: |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method from javax.swing.text.html.HTMLEditorKit Detail: |
---|
|
|
element s AttributeSet into
set . This does not copy component, icon, or element
names attributes. Subclasses may wish to refine what is and what
isn't copied here. But be sure to first remove all the attributes that
are in set .This is called anytime the caret moves over a different location. |
|
|
|
text/html . |
|
|
|
|
|
|
|
|
|
FormSubmitEvent is fired. |
doc is
an instance of HTMLDocument, this will read
HTML 3.2 text. Inserting HTML into a non-empty document must be inside
the body Element, if you do not insert into the body an exception will
be thrown. When inserting into a non-empty document all tags outside
of the body (head, title) will be dropped. |
FormSubmitEvent is fired.
By default it is set to true. |
|
|
|
|