public class HTMLEditorKit extends StyledEditorKitimplements Accessible
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 documentation 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.
| Modifier and Type | Class and Description |
|---|---|
static class |
HTMLEditorKit
A factory to build views for HTML.
|
static class |
HTMLEditorKit
An abstract Action providing some convenience methods that may be useful in inserting HTML into an existing document.
|
static class |
HTMLEditorKit
InsertHTMLTextAction can be used to insert an arbitrary string of HTML into an existing HTML document.
|
static class |
HTMLEditorKit
Class to watch the associated component and fire hyperlink events on it when appropriate.
|
static class |
HTMLEditorKit
Interface to be supported by the parser.
|
static class |
HTMLEditorKit
The result of parsing drives these callback methods.
|
StyledEditorKit.AlignmentAction , StyledEditorKit.BoldAction , StyledEditorKit.FontFamilyAction , StyledEditorKit.FontSizeAction , StyledEditorKit.ForegroundAction , StyledEditorKit.ItalicAction , StyledEditorKit.StyledTextAction , StyledEditorKit.UnderlineAction DefaultEditorKit.BeepAction , DefaultEditorKit.CopyAction , DefaultEditorKit.CutAction , DefaultEditorKit.DefaultKeyTypedAction , DefaultEditorKit.InsertBreakAction , DefaultEditorKit.InsertContentAction , DefaultEditorKit.InsertTabAction , DefaultEditorKit.PasteAction | Modifier and Type | Field and Description |
|---|---|
static String |
BOLD_ACTION
The bold action identifier
|
static String |
COLOR_ACTION
The Color choice action identifier The color is passed as an argument
|
static String |
DEFAULT_CSS
Default Cascading Style Sheet file that sets up the tag views.
|
static String |
FONT_CHANGE_BIGGER
The font size increase to next value action identifier
|
static String |
FONT_CHANGE_SMALLER
The font size decrease to next value action identifier
|
static String |
IMG_ALIGN_BOTTOM
Align images at the bottom.
|
static String |
IMG_ALIGN_MIDDLE
Align images in the middle.
|
static String |
IMG_ALIGN_TOP
Align images at the top.
|
static String |
IMG_BORDER
Align images at the border.
|
static String |
ITALIC_ACTION
The italic action identifier
|
static String |
LOGICAL_STYLE_ACTION
The logical style choice action identifier The logical style is passed in as an argument
|
static String |
PARA_INDENT_LEFT
The paragraph left indent action identifier
|
static String |
PARA_INDENT_RIGHT
The paragraph right indent action identifier
|
backwardAction, beepAction, beginAction, beginLineAction, beginParagraphAction, beginWordAction, copyAction, cutAction, defaultKeyTypedAction, deleteNextCharAction, deleteNextWordAction, deletePrevCharAction, deletePrevWordAction, downAction, endAction, endLineAction, EndOfLineStringProperty, endParagraphAction, endWordAction, forwardAction, insertBreakAction, insertContentAction, insertTabAction, nextWordAction, pageDownAction, pageUpAction, pasteAction, previousWordAction, readOnlyAction, selectAllAction, selectionBackwardAction, selectionBeginAction, selectionBeginLineAction, selectionBeginParagraphAction, selectionBeginWordAction, selectionDownAction, selectionEndAction, selectionEndLineAction, selectionEndParagraphAction, selectionEndWordAction, selectionForwardAction, selectionNextWordAction, selectionPreviousWordAction, selectionUpAction, selectLineAction, selectParagraphAction, selectWordAction, upAction, writableAction| Constructor and Description |
|---|
HTMLEditorKit()
Constructs an HTMLEditorKit, creates a StyleContext, and loads the style sheet.
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
Creates a copy of the editor kit.
|
Document |
createDefaultDocument()
Create an uninitialized text storage model that is appropriate for this type of editor.
|
protected void |
createInputAttributes(Element
Copies the key/values in
elements AttributeSet into
set.
|
void |
deinstall(JEditorPane
Called when the kit is being removed from the JEditorPane.
|
AccessibleContext |
getAccessibleContext()
returns the AccessibleContext associated with this editor kit
|
Action |
getActions()
Fetches the command list for the editor.
|
String |
getContentType()
Get the MIME type of the data that this kit represents support for.
|
Cursor |
getDefaultCursor()
Returns the default cursor.
|
MutableAttributeSet |
getInputAttributes()
Gets the input attributes used for the styled editing actions.
|
Cursor |
getLinkCursor()
Returns the cursor to use over hyper links.
|
protected HTMLEditorKit |
getParser()
Fetch the parser to use for reading HTML streams.
|
StyleSheet |
getStyleSheet()
Get the set of styles currently being used to render the HTML elements.
|
ViewFactory |
getViewFactory()
Fetch a factory that is suitable for producing views of any models that are produced by this kit.
|
void |
insertHTML(HTMLDocument
Inserts HTML into an existing document.
|
void |
install(JEditorPane
Called when the kit is being installed into the a JEditorPane.
|
boolean |
isAutoFormSubmission()
Indicates whether an html form submission is processed automatically or only
FormSubmitEvent is fired.
|
void |
read(Reader
Inserts content from the given stream.
|
void |
setAutoFormSubmission(boolean isAuto)
Specifies if an html form submission is processed automatically or only
FormSubmitEvent is fired.
|
void |
setDefaultCursor(Cursor
Sets the default cursor.
|
void |
setLinkCursor(Cursor
Sets the cursor to use over links.
|
void |
setStyleSheet(StyleSheet
Set the set of styles to be used to render the various HTML elements.
|
void |
write(Writer
Write content from a document to the given stream in a format appropriate for this kind of content handler.
|
getCharacterAttributeRuncreateCaret, read, writepublic static final StringDEFAULT_CSS
public static final StringBOLD_ACTION
public static final StringITALIC_ACTION
public static final StringPARA_INDENT_LEFT
public static final StringPARA_INDENT_RIGHT
public static final StringFONT_CHANGE_BIGGER
public static final StringFONT_CHANGE_SMALLER
public static final StringCOLOR_ACTION
public static final StringLOGICAL_STYLE_ACTION
public static final StringIMG_ALIGN_TOP
public static final StringIMG_ALIGN_MIDDLE
public static final StringIMG_ALIGN_BOTTOM
public static final StringIMG_BORDER
public HTMLEditorKit()
public StringgetContentType()
text/html.
getContentType in class
DefaultEditorKit
public ViewFactorygetViewFactory()
getViewFactory in class
StyledEditorKit
public DocumentcreateDefaultDocument()
createDefaultDocument in class
StyledEditorKit
public void read(Readerin, Document doc, int pos) throws IOException , BadLocationException
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.
read in class
DefaultEditorKit
in - the stream to read from
doc - the destination for the insertion
pos - the location in the document to place the content
IOException - on any I/O error
BadLocationException - if pos represents an invalid location within the document
RuntimeException - (will eventually be a BadLocationException) if pos is invalid
public void insertHTML(HTMLDocumentdoc, int offset, String html, int popDepth, int pushDepth, HTML .Tag insertTag) throws BadLocationException , IOException
doc - the document to insert into
offset - the offset to insert HTML at
popDepth - the number of ElementSpec.EndTagTypes to generate before inserting
pushDepth - the number of ElementSpec.StartTagTypes with a direction of ElementSpec.JoinNextDirection that should be generated before inserting, but after the end tags have been generated
insertTag - the first tag to start inserting into document
RuntimeException - (will eventually be a BadLocationException) if pos is invalid
BadLocationException
IOException
public void write(Writerout, Document doc, int pos, int len) throws IOException , BadLocationException
write in class
DefaultEditorKit
out - the stream to write to
doc - the source for the write
pos - the location in the document to fetch the content
len - the amount to write out
IOException - on any I/O error
BadLocationException - if pos represents an invalid location within the document
public void install(JEditorPanec)
install in class
StyledEditorKit
c - the JEditorPane
public void deinstall(JEditorPanec)
deinstall in class
StyledEditorKit
c - the JEditorPane
public void setStyleSheet(StyleSheets)
public StyleSheetgetStyleSheet()
public Action[] getActions()
getActions in class
StyledEditorKit
protected void createInputAttributes(Elementelement, MutableAttributeSet set)
elements 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.
public MutableAttributeSetgetInputAttributes()
getInputAttributes in class
StyledEditorKit
public void setDefaultCursor(Cursorcursor)
public CursorgetDefaultCursor()
public void setLinkCursor(Cursorcursor)
public CursorgetLinkCursor()
public boolean isAutoFormSubmission()
FormSubmitEvent is fired.
setAutoFormSubmission(boolean)
public void setAutoFormSubmission(boolean isAuto)
FormSubmitEvent is fired. By default it is set to true.
isAutoFormSubmission(),
FormSubmitEvent
public Objectclone()
clone in class
StyledEditorKit
Cloneable
protected HTMLEditorKit.Parser getParser()
public AccessibleContextgetAccessibleContext()
getAccessibleContext in interface
Accessible