javax.swing.text.html
Class HTMLEditorKit

java.lang.Object
  extended by javax.swing.text.EditorKit
      extended by javax.swing.text.DefaultEditorKit
          extended by javax.swing.text.StyledEditorKit
              extended by javax.swing.text.html.HTMLEditorKit
All Implemented Interfaces:
Serializable, Cloneable, Accessible

public class HTMLEditorKit
extends StyledEditorKit
implements Serializable, Cloneable, Accessible

See Also:
Serialized Form

Nested Class Summary
static class HTMLEditorKit.HTMLFactory
          A ViewFactory that is able to create Views for the Elements that are supported.
static class HTMLEditorKit.HTMLTextAction
          Abstract Action class that helps inserting HTML into an existing document.
static class HTMLEditorKit.InsertHTMLTextAction
          This class is used to insert a string of HTML into an existing document.
static class HTMLEditorKit.LinkController
          Fires the hyperlink events on the associated component when needed.
static class HTMLEditorKit.Parser
          The abstract HTML parser declaration.
static class HTMLEditorKit.ParserCallback
          The "hook" that receives all information about the HTML document structure while parsing it.
 
Nested classes/interfaces inherited from class javax.swing.text.StyledEditorKit
StyledEditorKit.AlignmentAction, StyledEditorKit.BoldAction, StyledEditorKit.FontFamilyAction, StyledEditorKit.FontSizeAction, StyledEditorKit.ForegroundAction, StyledEditorKit.ItalicAction, StyledEditorKit.StyledTextAction, StyledEditorKit.UnderlineAction
 
Nested classes/interfaces inherited from class javax.swing.text.DefaultEditorKit
DefaultEditorKit.BeepAction, DefaultEditorKit.CopyAction, DefaultEditorKit.CutAction, DefaultEditorKit.DefaultKeyTypedAction, DefaultEditorKit.InsertBreakAction, DefaultEditorKit.InsertContentAction, DefaultEditorKit.InsertTabAction, DefaultEditorKit.PasteAction
 
Field Summary
static String BOLD_ACTION
          The bold action identifier.
static String COLOR_ACTION
          The color action indentifier (passing the color as an argument).
static String DEFAULT_CSS
          Default cascading stylesheed file ("default.css").
static String FONT_CHANGE_BIGGER
          The increase font action identifier.
static String FONT_CHANGE_SMALLER
          The decrease font action identifier.
static String IMG_ALIGN_BOTTOM
          Align images at the bottom.
static String IMG_ALIGN_MIDDLE
          Align images at 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" action identifier, passing that style as parameter.
static String PARA_INDENT_LEFT
          The "ident paragraph left" action.
static String PARA_INDENT_RIGHT
          The "ident paragraph right" action.
 
Fields inherited from class javax.swing.text.DefaultEditorKit
backwardAction, beepAction, beginAction, beginLineAction, beginParagraphAction, beginWordAction, copyAction, cutAction, defaultKeyTypedAction, deleteNextCharAction, deletePrevCharAction, 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 Summary
HTMLEditorKit()
          Constructs an HTMLEditorKit, creates a StyleContext, and loads the style sheet.
 
Method Summary
 Object clone()
          Creates a copy of the editor kit.
 Document createDefaultDocument()
          Create a text storage model for this type of editor.
protected  void createInputAttributes(Element element, MutableAttributeSet set)
          Copies the key/values in elements AttributeSet into set.
 void deinstall(JEditorPane c)
          Called when the this is removed from the JEditorPane.
 AccessibleContext getAccessibleContext()
          Gets the AccessibleContext associated with this.
 Action[] getActions()
          Gets the action list.
 String getContentType()
          Gets the content type that the kit supports.
 Cursor getDefaultCursor()
          Returns the default cursor.
 MutableAttributeSet getInputAttributes()
          Gets the input attributes used for the styled editing actions.
 Cursor getLinkCursor()
          Returns the cursor for links.
protected  HTMLEditorKit.Parser getParser()
          Get the parser that this editor kit uses for reading HTML streams.
 StyleSheet getStyleSheet()
          Get the set of styles currently being used to render the HTML elements.
 ViewFactory getViewFactory()
          Gets a factory suitable for producing views of any models that are produced by this kit.
 void insertHTML(HTMLDocument doc, int offset, String html, int popDepth, int pushDepth, HTML.Tag insertTag)
          Inserts HTML into an existing document.
 void install(JEditorPane c)
          Called when this is installed into the JEditorPane.
 boolean isAutoFormSubmission()
          Returns true when forms should be automatically submitted by the editor kit.
 void read(Reader in, Document doc, int pos)
          Inserts content from the given stream.
 void setAutoFormSubmission(boolean auto)
          Sets whether or not the editor kit should automatically submit forms.
 void setDefaultCursor(Cursor cursor)
          Sets the default cursor.
 void setLinkCursor(Cursor cursor)
          Sets the Cursor for links.
 void setStyleSheet(StyleSheet s)
          Set the set of styles to be used to render the various HTML elements.
 void write(Writer out, Document doc, int pos, int len)
          Writes content from a document to the given stream in an appropriate format.
 
Methods inherited from class javax.swing.text.StyledEditorKit
getCharacterAttributeRun
 
Methods inherited from class javax.swing.text.DefaultEditorKit
createCaret, read, write
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_CSS

public static final String DEFAULT_CSS
Default cascading stylesheed file ("default.css").

See Also:
Constant Field Values

BOLD_ACTION

public static final String BOLD_ACTION
The bold action identifier.

See Also:
Constant Field Values

ITALIC_ACTION

public static final String ITALIC_ACTION
The italic action identifier.

See Also:
Constant Field Values

COLOR_ACTION

public static final String COLOR_ACTION
The color action indentifier (passing the color as an argument).

See Also:
Constant Field Values

FONT_CHANGE_BIGGER

public static final String FONT_CHANGE_BIGGER
The increase font action identifier.

See Also:
Constant Field Values

FONT_CHANGE_SMALLER

public static final String FONT_CHANGE_SMALLER
The decrease font action identifier.

See Also:
Constant Field Values

IMG_ALIGN_BOTTOM

public static final String IMG_ALIGN_BOTTOM
Align images at the bottom.

See Also:
Constant Field Values

IMG_ALIGN_MIDDLE

public static final String IMG_ALIGN_MIDDLE
Align images at the middle.

See Also:
Constant Field Values

IMG_ALIGN_TOP

public static final String IMG_ALIGN_TOP
Align images at the top.

See Also:
Constant Field Values

IMG_BORDER

public static final String IMG_BORDER
Align images at the border.

See Also:
Constant Field Values

LOGICAL_STYLE_ACTION

public static final String LOGICAL_STYLE_ACTION
The "logical style" action identifier, passing that style as parameter.

See Also:
Constant Field Values

PARA_INDENT_LEFT

public static final String PARA_INDENT_LEFT
The "ident paragraph left" action.

See Also:
Constant Field Values

PARA_INDENT_RIGHT

public static final String PARA_INDENT_RIGHT
The "ident paragraph right" action.

See Also:
Constant Field Values
Constructor Detail

HTMLEditorKit

public HTMLEditorKit()
Constructs an HTMLEditorKit, creates a StyleContext, and loads the style sheet.

Method Detail

getViewFactory

public ViewFactory getViewFactory()
Gets a factory suitable for producing views of any models that are produced by this kit.

Overrides:
getViewFactory in class StyledEditorKit
Returns:
the view factory suitable for producing views.

createDefaultDocument

public Document createDefaultDocument()
Create a text storage model for this type of editor.

Overrides:
createDefaultDocument in class StyledEditorKit
Returns:
the model

getParser

protected HTMLEditorKit.Parser getParser()
Get the parser that this editor kit uses for reading HTML streams. This method can be overridden to use the alternative parser.

Returns:
the HTML parser (by default, ParserDelegator).

insertHTML

public void insertHTML(HTMLDocument doc,
                       int offset,
                       String html,
                       int popDepth,
                       int pushDepth,
                       HTML.Tag insertTag)
                throws BadLocationException,
                       IOException
Inserts HTML into an existing document.

Parameters:
doc - - the Document to insert the HTML into.
offset - - where to begin inserting the HTML.
html - - the String to insert
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
insertTag - - the first tag to start inserting into document
Throws:
IOException - - on any I/O error
BadLocationException - - if pos represents an invalid location within the document

read

public void read(Reader in,
                 Document doc,
                 int pos)
          throws IOException,
                 BadLocationException
Inserts content from the given stream. 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.

Overrides:
read in class DefaultEditorKit
Parameters:
in - - the stream to read from
doc - - the destination for the insertion
pos - - the location in the document to place the content
Throws:
IOException - - on any I/O error
BadLocationException - - if pos represents an invalid location within the document

write

public void write(Writer out,
                  Document doc,
                  int pos,
                  int len)
           throws IOException,
                  BadLocationException
Writes content from a document to the given stream in an appropriate format.

Overrides:
write in class DefaultEditorKit
Parameters:
out - - the stream to write to
doc - - the source for the write
pos - - the location in the document to get the content.
len - - the amount to write out
Throws:
IOException - - on any I/O error
BadLocationException - - if pos represents an invalid location within the document

getContentType

public String getContentType()
Gets the content type that the kit supports. This kit supports the type text/html.

Overrides:
getContentType in class DefaultEditorKit
Returns:
the content type that this EditorKit supports

clone

public Object clone()
Creates a copy of the editor kit.

Overrides:
clone in class StyledEditorKit
Returns:
a copy of this.
See Also:
Cloneable

createInputAttributes

protected void createInputAttributes(Element element,
                                     MutableAttributeSet set)
Copies the key/values in elements AttributeSet into set. This does not copy component, icon, or element names attributes. This is called anytime the caret moves over a different location.

Overrides:
createInputAttributes in class StyledEditorKit
Parameters:
element - - the element to create the input attributes for.
set - - the set to copy the values into.

install

public void install(JEditorPane c)
Called when this is installed into the JEditorPane.

Overrides:
install in class StyledEditorKit
Parameters:
c - - the JEditorPane installed into.

deinstall

public void deinstall(JEditorPane c)
Called when the this is removed from the JEditorPane. It unregisters any listeners.

Overrides:
deinstall in class StyledEditorKit
Parameters:
c - - the JEditorPane being removed from.

getAccessibleContext

public AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this.

Specified by:
getAccessibleContext in interface Accessible
Returns:
the AccessibleContext for this.

getActions

public Action[] getActions()
Gets the action list. This list is supported by the superclass augmented by the collection of actions defined locally for style operations.

Overrides:
getActions in class StyledEditorKit
Returns:
an array of all the actions

getDefaultCursor

public Cursor getDefaultCursor()
Returns the default cursor.

Returns:
the default cursor

getLinkCursor

public Cursor getLinkCursor()
Returns the cursor for links.

Returns:
the cursor for links.

setLinkCursor

public void setLinkCursor(Cursor cursor)
Sets the Cursor for links.

Parameters:
cursor - - the new cursor for links.

setDefaultCursor

public void setDefaultCursor(Cursor cursor)
Sets the default cursor.

Parameters:
cursor - - the new default cursor.

getInputAttributes

public MutableAttributeSet getInputAttributes()
Gets the input attributes used for the styled editing actions.

Overrides:
getInputAttributes in class StyledEditorKit
Returns:
the attribute set

getStyleSheet

public StyleSheet getStyleSheet()
Get the set of styles currently being used to render the HTML elements. By default the resource specified by DEFAULT_CSS gets loaded, and is shared by all HTMLEditorKit instances.

Returns:
the style sheet.

setStyleSheet

public void setStyleSheet(StyleSheet s)
Set the set of styles to be used to render the various HTML elements. These styles are specified in terms of CSS specifications. Each document produced by the kit will have a copy of the sheet which it can add the document specific styles to. By default, the StyleSheet specified is shared by all HTMLEditorKit instances.

Parameters:
s - - the new style sheet

isAutoFormSubmission

public boolean isAutoFormSubmission()
Returns true when forms should be automatically submitted by the editor kit. Set this to false when you want to intercept form submission. In this case you'd want to listen for hyperlink events on the document and handle FormSubmitEvents specially. The default is true.

Returns:
true when forms should be automatically submitted by the editor kit, false otherwise
Since:
1.5
See Also:
setAutoFormSubmission(boolean), FormSubmitEvent

setAutoFormSubmission

public void setAutoFormSubmission(boolean auto)
Sets whether or not the editor kit should automatically submit forms.

Parameters:
auto - true when the editor kit should handle form submission, false otherwise
Since:
1.5
See Also:
isAutoFormSubmission()