javax.swing.text
Class DefaultEditorKit

java.lang.Object
  extended byjavax.swing.text.EditorKit
      extended byjavax.swing.text.DefaultEditorKit
All Implemented Interfaces:
Cloneable, Serializable
Direct Known Subclasses:
JEditorPane.PlainEditorKit, StyledEditorKit

public class DefaultEditorKit
extends EditorKit

This is the set of things needed by a text component to be a reasonably functioning editor for some type of text document. This implementation provides a default implementation which treats text as plain text and provides a minimal set of actions for a simple editor.

Newlines
There are two properties which deal with newlines. The system property, line.separator, is defined to be platform-dependent, either "\n", "\r", or "\r\n". There is also a property defined in DefaultEditorKit, called EndOfLineStringProperty, which is defined automatically when a document is loaded, to be the first occurrence of any of the newline characters. When a document is loaded, EndOfLineStringProperty is set appropriately, and when the document is written back out, the EndOfLineStringProperty is used. But while the document is in memory, the "\n" character is used to define a newline, regardless of how the newline is defined when the document is on disk. Therefore, for searching purposes, "\n" should always be used. When a new document is created, and the EndOfLineStringProperty has not been defined, it will use the System property when writing out the document.

Note that EndOfLineStringProperty is set on the Document using the get/setProperty methods. Subclasses may override this behavior.

Author:
Timothy Prinzing
See Also:
Serialized Form

Nested Class Summary
static class DefaultEditorKit.BeepAction
          Creates a beep.
(package private) static class DefaultEditorKit.BeginAction
           
(package private) static class DefaultEditorKit.BeginLineAction
           
(package private) static class DefaultEditorKit.BeginParagraphAction
           
(package private) static class DefaultEditorKit.BeginWordAction
           
static class DefaultEditorKit.CopyAction
          Copies the selected region and place its contents into the system clipboard.
static class DefaultEditorKit.CutAction
          Cuts the selected region and place its contents into the system clipboard.
static class DefaultEditorKit.DefaultKeyTypedAction
          The action that is executed by default if a key typed event is received and there is no keymap entry.
(package private) static class DefaultEditorKit.DeleteNextCharAction
           
(package private) static class DefaultEditorKit.DeletePrevCharAction
           
(package private) static class DefaultEditorKit.DumpModelAction
           
(package private) static class DefaultEditorKit.EndAction
           
(package private) static class DefaultEditorKit.EndLineAction
           
(package private) static class DefaultEditorKit.EndParagraphAction
           
(package private) static class DefaultEditorKit.EndWordAction
           
static class DefaultEditorKit.InsertBreakAction
          Places a line/paragraph break into the document.
static class DefaultEditorKit.InsertContentAction
          Places content into the associated document.
static class DefaultEditorKit.InsertTabAction
          Places a tab character into the document.
(package private) static class DefaultEditorKit.NextVisualPositionAction
           
(package private) static class DefaultEditorKit.NextWordAction
           
(package private) static class DefaultEditorKit.PageAction
          Pages one view to the left or right.
static class DefaultEditorKit.PasteAction
          Pastes the contents of the system clipboard into the selected region, or before the caret if nothing is selected.
(package private) static class DefaultEditorKit.PreviousWordAction
           
(package private) static class DefaultEditorKit.ReadOnlyAction
           
(package private) static class DefaultEditorKit.SelectAllAction
           
(package private) static class DefaultEditorKit.SelectLineAction
           
(package private) static class DefaultEditorKit.SelectParagraphAction
           
(package private) static class DefaultEditorKit.SelectWordAction
           
(package private) static class DefaultEditorKit.ToggleComponentOrientationAction
           
(package private) static class DefaultEditorKit.UnselectAction
           
(package private) static class DefaultEditorKit.VerticalPageAction
          Scrolls up/down vertically.
(package private) static class DefaultEditorKit.WritableAction
           
 
Field Summary
static String backwardAction
          Name of the Action for moving the caret logically backward one position.
static String beepAction
          Name of the action to create a beep.
static String beginAction
          Name of the Action for moving the caret to the beginning of the document.
static String beginLineAction
          Name of the Action for moving the caret to the beginning of a line.
static String beginParagraphAction
          Name of the Action for moving the caret to the beginning of a paragraph.
static String beginWordAction
          Name of the Action for moving the caret to the beginning of a word.
static String copyAction
          Name of the action to copy the selected region and place the contents into the system clipboard.
static String cutAction
          Name of the action to cut the selected region and place the contents into the system clipboard.
private static Action[] defaultActions
           
static String defaultKeyTypedAction
          Name of the action that is executed by default if a key typed event is received and there is no keymap entry.
static String deleteNextCharAction
          Name of the action to delete the character of content that follows the current caret position.
static String deletePrevCharAction
          Name of the action to delete the character of content that precedes the current caret position.
static String downAction
          Name of the Action for moving the caret logically downward one position.
static String endAction
          Name of the Action for moving the caret to the end of the document.
static String endLineAction
          Name of the Action for moving the caret to the end of a line.
static String EndOfLineStringProperty
          When reading a document if a CRLF is encountered a property with this name is added and the value will be "\r\n".
static String endParagraphAction
          Name of the Action for moving the caret to the end of a paragraph.
static String endWordAction
          Name of the Action for moving the caret to the end of a word.
static String forwardAction
          Name of the Action for moving the caret logically forward one position.
static String insertBreakAction
          Name of the action to place a line/paragraph break into the document.
static String insertContentAction
          Name of the action to place content into the associated document.
static String insertTabAction
          Name of the action to place a tab character into the document.
static String nextWordAction
          Name of the Action for moving the caret to the beginning of the next word.
static String pageDownAction
          Name of the action to page down vertically.
static String pageUpAction
          Name of the action to page up vertically.
static String pasteAction
          Name of the action to paste the contents of the system clipboard into the selected region, or before the caret if nothing is selected.
static String previousWordAction
          Name of the Action for moving the caret to the beginning of the previous word.
static String readOnlyAction
          Name of the action to set the editor into read-only mode.
static String selectAllAction
          Name of the Action for selecting the entire document
static String selectionBackwardAction
          Name of the Action for extending the selection by moving the caret logically backward one position.
static String selectionBeginAction
          Name of the Action for moving the caret to the beginning of the document.
static String selectionBeginLineAction
          Name of the Action for moving the caret to the beginning of a line, extending the selection.
static String selectionBeginParagraphAction
          Name of the Action for moving the caret to the beginning of a paragraph, extending the selection.
static String selectionBeginWordAction
          Name of the Action for moving the caret to the beginning of a word, extending the selection.
static String selectionDownAction
          Name of the Action for moving the caret logically downward one position, extending the selection.
static String selectionEndAction
          Name of the Action for moving the caret to the end of the document.
static String selectionEndLineAction
          Name of the Action for moving the caret to the end of a line, extending the selection.
static String selectionEndParagraphAction
          Name of the Action for moving the caret to the end of a paragraph, extending the selection.
static String selectionEndWordAction
          Name of the Action for moving the caret to the end of a word, extending the selection.
static String selectionForwardAction
          Name of the Action for extending the selection by moving the caret logically forward one position.
static String selectionNextWordAction
          Name of the Action for moving the selection to the beginning of the next word, extending the selection.
(package private) static String selectionPageDownAction
          Name of the action to page down vertically, and move the selection.
(package private) static String selectionPageLeftAction
          Name of the action to page left horizontally, and move the selection.
(package private) static String selectionPageRightAction
          Name of the action to page right horizontally, and move the selection.
(package private) static String selectionPageUpAction
          Name of the action to page up vertically, and move the selection.
static String selectionPreviousWordAction
          Name of the Action for moving the selection to the beginning of the previous word, extending the selection.
static String selectionUpAction
          Name of the Action for moving the caret logically upward one position, extending the selection.
static String selectLineAction
          Name of the Action for selecting a line around the caret.
static String selectParagraphAction
          Name of the Action for selecting a paragraph around the caret.
static String selectWordAction
          Name of the Action for selecting a word around the caret.
(package private) static String toggleComponentOrientationAction
          Name of the Action for toggling the component's orientation.
(package private) static String unselectAction
          Name of the Action for removing selection
static String upAction
          Name of the Action for moving the caret logically upward one position.
static String writableAction
          Name of the action to set the editor into writeable mode.
 
Constructor Summary
DefaultEditorKit()
          default constructor for DefaultEditorKit
 
Method Summary
 Caret createCaret()
          Fetches a caret that can navigate through views produced by the associated ViewFactory.
 Document createDefaultDocument()
          Creates an uninitialized text storage model (PlainDocument) that is appropriate for this type of editor.
 Action[] getActions()
          Fetches the set of commands that can be used on a text component that is using a model and view produced by this kit.
 String getContentType()
          Gets the MIME type of the data that this kit represents support for.
(package private)  MutableAttributeSet getInputAttributes()
          Gets the input attributes for the pane.
 ViewFactory getViewFactory()
          Fetches a factory that is suitable for producing views of any models that are produced by this kit.
 void read(InputStream in, Document doc, int pos)
          Inserts content from the given stream which is expected to be in a format appropriate for this kind of content handler.
 void read(Reader in, Document doc, int pos)
          Inserts content from the given stream, which will be treated as plain text.
 void write(OutputStream out, Document doc, int pos, int len)
          Writes content from a document to the given stream in a format appropriate for this kind of content handler.
 void write(Writer out, Document doc, int pos, int len)
          Writes content from a document to the given stream as plain text.
 
Methods inherited from class javax.swing.text.EditorKit
clone, deinstall, install
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EndOfLineStringProperty

public static final String EndOfLineStringProperty
When reading a document if a CRLF is encountered a property with this name is added and the value will be "\r\n".

See Also:
Constant Field Values

insertContentAction

public static final String insertContentAction
Name of the action to place content into the associated document. If there is a selection, it is removed before the new content is added.

See Also:
getActions(), Constant Field Values

insertBreakAction

public static final String insertBreakAction
Name of the action to place a line/paragraph break into the document. If there is a selection, it is removed before the break is added.

See Also:
getActions(), Constant Field Values

insertTabAction

public static final String insertTabAction
Name of the action to place a tab character into the document. If there is a selection, it is removed before the tab is added.

See Also:
getActions(), Constant Field Values

deletePrevCharAction

public static final String deletePrevCharAction
Name of the action to delete the character of content that precedes the current caret position.

See Also:
getActions(), Constant Field Values

deleteNextCharAction

public static final String deleteNextCharAction
Name of the action to delete the character of content that follows the current caret position.

See Also:
getActions(), Constant Field Values

readOnlyAction

public static final String readOnlyAction
Name of the action to set the editor into read-only mode.

See Also:
getActions(), Constant Field Values

writableAction

public static final String writableAction
Name of the action to set the editor into writeable mode.

See Also:
getActions(), Constant Field Values

cutAction

public static final String cutAction
Name of the action to cut the selected region and place the contents into the system clipboard.

See Also:
JTextComponent.cut(), getActions(), Constant Field Values

copyAction

public static final String copyAction
Name of the action to copy the selected region and place the contents into the system clipboard.

See Also:
JTextComponent.copy(), getActions(), Constant Field Values

pasteAction

public static final String pasteAction
Name of the action to paste the contents of the system clipboard into the selected region, or before the caret if nothing is selected.

See Also:
JTextComponent.paste(), getActions(), Constant Field Values

beepAction

public static final String beepAction
Name of the action to create a beep.

See Also:
getActions(), Constant Field Values

pageUpAction

public static final String pageUpAction
Name of the action to page up vertically.

See Also:
getActions(), Constant Field Values

pageDownAction

public static final String pageDownAction
Name of the action to page down vertically.

See Also:
getActions(), Constant Field Values

selectionPageUpAction

static final String selectionPageUpAction
Name of the action to page up vertically, and move the selection.

See Also:
getActions(), Constant Field Values

selectionPageDownAction

static final String selectionPageDownAction
Name of the action to page down vertically, and move the selection.

See Also:
getActions(), Constant Field Values

selectionPageLeftAction

static final String selectionPageLeftAction
Name of the action to page left horizontally, and move the selection.

See Also:
getActions(), Constant Field Values

selectionPageRightAction

static final String selectionPageRightAction
Name of the action to page right horizontally, and move the selection.

See Also:
getActions(), Constant Field Values

forwardAction

public static final String forwardAction
Name of the Action for moving the caret logically forward one position.

See Also:
getActions(), Constant Field Values

backwardAction

public static final String backwardAction
Name of the Action for moving the caret logically backward one position.

See Also:
getActions(), Constant Field Values

selectionForwardAction

public static final String selectionForwardAction
Name of the Action for extending the selection by moving the caret logically forward one position.

See Also:
getActions(), Constant Field Values

selectionBackwardAction

public static final String selectionBackwardAction
Name of the Action for extending the selection by moving the caret logically backward one position.

See Also:
getActions(), Constant Field Values

upAction

public static final String upAction
Name of the Action for moving the caret logically upward one position.

See Also:
getActions(), Constant Field Values

downAction

public static final String downAction
Name of the Action for moving the caret logically downward one position.

See Also:
getActions(), Constant Field Values

selectionUpAction

public static final String selectionUpAction
Name of the Action for moving the caret logically upward one position, extending the selection.

See Also:
getActions(), Constant Field Values

selectionDownAction

public static final String selectionDownAction
Name of the Action for moving the caret logically downward one position, extending the selection.

See Also:
getActions(), Constant Field Values

beginWordAction

public static final String beginWordAction
Name of the Action for moving the caret to the beginning of a word.

See Also:
getActions(), Constant Field Values

endWordAction

public static final String endWordAction
Name of the Action for moving the caret to the end of a word.

See Also:
getActions(), Constant Field Values

selectionBeginWordAction

public static final String selectionBeginWordAction
Name of the Action for moving the caret to the beginning of a word, extending the selection.

See Also:
getActions(), Constant Field Values

selectionEndWordAction

public static final String selectionEndWordAction
Name of the Action for moving the caret to the end of a word, extending the selection.

See Also:
getActions(), Constant Field Values

previousWordAction

public static final String previousWordAction
Name of the Action for moving the caret to the beginning of the previous word.

See Also:
getActions(), Constant Field Values

nextWordAction

public static final String nextWordAction
Name of the Action for moving the caret to the beginning of the next word.

See Also:
getActions(), Constant Field Values

selectionPreviousWordAction

public static final String selectionPreviousWordAction
Name of the Action for moving the selection to the beginning of the previous word, extending the selection.

See Also:
getActions(), Constant Field Values

selectionNextWordAction

public static final String selectionNextWordAction
Name of the Action for moving the selection to the beginning of the next word, extending the selection.

See Also:
getActions(), Constant Field Values

beginLineAction

public static final String beginLineAction
Name of the Action for moving the caret to the beginning of a line.

See Also:
getActions(), Constant Field Values

endLineAction

public static final String endLineAction
Name of the Action for moving the caret to the end of a line.

See Also:
getActions(), Constant Field Values

selectionBeginLineAction

public static final String selectionBeginLineAction
Name of the Action for moving the caret to the beginning of a line, extending the selection.

See Also:
getActions(), Constant Field Values

selectionEndLineAction

public static final String selectionEndLineAction
Name of the Action for moving the caret to the end of a line, extending the selection.

See Also:
getActions(), Constant Field Values

beginParagraphAction

public static final String beginParagraphAction
Name of the Action for moving the caret to the beginning of a paragraph.

See Also:
getActions(), Constant Field Values

endParagraphAction

public static final String endParagraphAction
Name of the Action for moving the caret to the end of a paragraph.

See Also:
getActions(), Constant Field Values

selectionBeginParagraphAction

public static final String selectionBeginParagraphAction
Name of the Action for moving the caret to the beginning of a paragraph, extending the selection.

See Also:
getActions(), Constant Field Values

selectionEndParagraphAction

public static final String selectionEndParagraphAction
Name of the Action for moving the caret to the end of a paragraph, extending the selection.

See Also:
getActions(), Constant Field Values

beginAction

public static final String beginAction
Name of the Action for moving the caret to the beginning of the document.

See Also:
getActions(), Constant Field Values

endAction

public static final String endAction
Name of the Action for moving the caret to the end of the document.

See Also:
getActions(), Constant Field Values

selectionBeginAction

public static final String selectionBeginAction
Name of the Action for moving the caret to the beginning of the document.

See Also:
getActions(), Constant Field Values

selectionEndAction

public static final String selectionEndAction
Name of the Action for moving the caret to the end of the document.

See Also:
getActions(), Constant Field Values

selectWordAction

public static final String selectWordAction
Name of the Action for selecting a word around the caret.

See Also:
getActions(), Constant Field Values

selectLineAction

public static final String selectLineAction
Name of the Action for selecting a line around the caret.

See Also:
getActions(), Constant Field Values

selectParagraphAction

public static final String selectParagraphAction
Name of the Action for selecting a paragraph around the caret.

See Also:
getActions(), Constant Field Values

selectAllAction

public static final String selectAllAction
Name of the Action for selecting the entire document

See Also:
getActions(), Constant Field Values

unselectAction

static final String unselectAction
Name of the Action for removing selection

See Also:
getActions(), Constant Field Values

toggleComponentOrientationAction

static final String toggleComponentOrientationAction
Name of the Action for toggling the component's orientation.

See Also:
getActions(), Constant Field Values

defaultKeyTypedAction

public static final String defaultKeyTypedAction
Name of the action that is executed by default if a key typed event is received and there is no keymap entry.

See Also:
getActions(), Constant Field Values

defaultActions

private static final Action[] defaultActions
Constructor Detail

DefaultEditorKit

public DefaultEditorKit()
default constructor for DefaultEditorKit

Method Detail

getContentType

public String getContentType()
Gets the MIME type of the data that this kit represents support for. The default is text/plain.

Specified by:
getContentType in class EditorKit
Returns:
the type

getViewFactory

public ViewFactory getViewFactory()
Fetches a factory that is suitable for producing views of any models that are produced by this kit. The default is to have the UI produce the factory, so this method has no implementation.

Specified by:
getViewFactory in class EditorKit
Returns:
the view factory

getActions

public Action[] getActions()
Fetches the set of commands that can be used on a text component that is using a model and view produced by this kit.

Specified by:
getActions in class EditorKit
Returns:
the command list

createCaret

public Caret createCaret()
Fetches a caret that can navigate through views produced by the associated ViewFactory.

Specified by:
createCaret in class EditorKit
Returns:
the caret

createDefaultDocument

public Document createDefaultDocument()
Creates an uninitialized text storage model (PlainDocument) that is appropriate for this type of editor.

Specified by:
createDefaultDocument in class EditorKit
Returns:
the model

read

public void read(InputStream in,
                 Document doc,
                 int pos)
          throws IOException,
                 BadLocationException
Inserts content from the given stream which is expected to be in a format appropriate for this kind of content handler.

Specified by:
read in class EditorKit
Parameters:
in - The stream to read from
doc - The destination for the insertion.
pos - The location in the document to place the content >= 0.
Throws:
IOException - on any I/O error
BadLocationException - if pos represents an invalid location within the document.

write

public void write(OutputStream out,
                  Document doc,
                  int pos,
                  int len)
           throws IOException,
                  BadLocationException
Writes content from a document to the given stream in a format appropriate for this kind of content handler.

Specified by:
write in class EditorKit
Parameters:
out - The stream to write to
doc - The source for the write.
pos - The location in the document to fetch the content >= 0.
len - The amount to write out >= 0.
Throws:
IOException - on any I/O error
BadLocationException - if pos represents an invalid location within the document.

getInputAttributes

MutableAttributeSet getInputAttributes()
Gets the input attributes for the pane. This method exists for the benefit of StyledEditorKit so that the read method will pick up the correct attributes to apply to inserted text. This class's implementation simply returns null.

Returns:
null

read

public void read(Reader in,
                 Document doc,
                 int pos)
          throws IOException,
                 BadLocationException
Inserts content from the given stream, which will be treated as plain text.

Specified by:
read in class EditorKit
Parameters:
in - The stream to read from
doc - The destination for the insertion.
pos - The location in the document to place the content >= 0.
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 as plain text.

Specified by:
write in class EditorKit
Parameters:
out - The stream to write to
doc - The source for the write.
pos - The location in the document to fetch the content from >= 0.
len - The amount to write out >= 0.
Throws:
IOException - on any I/O error
BadLocationException - if pos is not within 0 and the length of the document.