javax.swing.text

Class DefaultStyledDocument

Implemented Interfaces:
Document, Serializable, StyledDocument
Known Direct Subclasses:
HTMLDocument

public class DefaultStyledDocument
extends AbstractDocument
implements StyledDocument

The default implementation of StyledDocument. The document is modeled as an Element tree, which has a SectionElement as single root, which has one or more AbstractDocument.BranchElements as paragraph nodes and each paragraph node having one or more AbstractDocument.LeafElements as content nodes.

See Also:
Serialized Form

Nested Class Summary

class
DefaultStyledDocument.ElementBuffer
Performs all structural changes to the Element hierarchy.

Nested classes/interfaces inherited from class javax.swing.text.AbstractDocument

AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractDocument.LeafElement

Field Summary

static int
BUFFER_SIZE_DEFAULT
The default size to use for new content buffers.
protected DefaultStyledDocument.ElementBuffer
buffer
The EditorBuffer that is used to manage to Element hierarchy.

Fields inherited from class javax.swing.text.AbstractDocument

BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, ParagraphElementName, SectionElementName, listenerList

Fields inherited from interface javax.swing.text.Document

StreamDescriptionProperty, TitleProperty

Constructor Summary

DefaultStyledDocument()
Creates a new DefaultStyledDocument.
DefaultStyledDocument(AbstractDocument.Content content, StyleContext context)
Creates a new DefaultStyledDocument that uses the specified StyleContext and AbstractDocument.Content buffer.
DefaultStyledDocument(StyleContext context)
Creates a new DefaultStyledDocument that uses the specified StyleContext.

Method Summary

Style
addStyle(String nm, Style parent)
Adds a style into the style hierarchy.
protected AbstractDocument.AbstractElement
createDefaultRoot()
Create the default root element for this kind of Document.
Color
getBackground(AttributeSet attributes)
Extracts a background color from a set of attributes.
Element
getCharacterElement(int position)
Returns the Element that corresponds to the character at the specified position.
Element
getDefaultRootElement()
Returns the default root element.
Font
getFont(AttributeSet attributes)
Extracts a font from a set of attributes.
Color
getForeground(AttributeSet attributes)
Extracts a foreground color from a set of attributes.
Style
getLogicalStyle(int position)
Returns the logical Style for the specified position.
Element
getParagraphElement(int position)
Returns the paragraph element for the specified position.
Style
getStyle(String nm)
Looks up and returns a named Style.
void
removeStyle(String nm)
Removes a named Style from the style hierarchy.
void
setCharacterAttributes(int offset, int length, AttributeSet attributes, boolean replace)
Sets text attributes for the fragment specified by offset and length.
void
setLogicalStyle(int position, Style style)
Sets the logical style for the paragraph at the specified position.
void
setParagraphAttributes(int offset, int length, AttributeSet attributes, boolean replace)
Sets text attributes for the paragraph at the specified fragment.

Methods inherited from class javax.swing.text.AbstractDocument

addDocumentListener, addUndoableEditListener, createBranchElement, createLeafElement, createPosition, dump, fireChangedUpdate, fireInsertUpdate, fireRemoveUpdate, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDefaultRootElement, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getParagraphElement, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, insertString, insertUpdate, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeDocumentListener, removeUndoableEditListener, removeUpdate, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

BUFFER_SIZE_DEFAULT

public static final int BUFFER_SIZE_DEFAULT
The default size to use for new content buffers.

Field Value:
4096


buffer

protected DefaultStyledDocument.ElementBuffer buffer
The EditorBuffer that is used to manage to Element hierarchy.

Constructor Details

DefaultStyledDocument

public DefaultStyledDocument()
Creates a new DefaultStyledDocument.


DefaultStyledDocument

public DefaultStyledDocument(AbstractDocument.Content content,
                             StyleContext context)
Creates a new DefaultStyledDocument that uses the specified StyleContext and AbstractDocument.Content buffer.

Parameters:
content - the Content buffer to use
context - the StyleContext to use


DefaultStyledDocument

public DefaultStyledDocument(StyleContext context)
Creates a new DefaultStyledDocument that uses the specified StyleContext.

Parameters:
context - the StyleContext to use

Method Details

addStyle

public Style addStyle(String nm,
                      Style parent)
Adds a style into the style hierarchy. Unspecified style attributes can be resolved in the parent style, if one is specified. While it is legal to add nameless styles (nm == null
Specified by:
addStyle in interface StyledDocument

Parameters:
nm - the name of the style or null if the style should be unnamed
parent - the parent in which unspecified style attributes are resolved, or null if that is not necessary

Returns:
the newly created Style


createDefaultRoot

protected AbstractDocument.AbstractElement createDefaultRoot()
Create the default root element for this kind of Document.

Returns:
the default root element for this kind of Document


getBackground

public Color getBackground(AttributeSet attributes)
Extracts a background color from a set of attributes.
Specified by:
getBackground in interface StyledDocument

Parameters:
attributes - the attributes from which to get a background color

Returns:
the background color that correspond to the attributes


getCharacterElement

public Element getCharacterElement(int position)
Returns the Element that corresponds to the character at the specified position.
Specified by:
getCharacterElement in interface StyledDocument

Parameters:
position - the position of which we query the corresponding Element

Returns:
the Element that corresponds to the character at the specified position


getDefaultRootElement

public Element getDefaultRootElement()
Returns the default root element.
Specified by:
getDefaultRootElement in interface Document
Overrides:
getDefaultRootElement in interface AbstractDocument

Returns:
the default root element


getFont

public Font getFont(AttributeSet attributes)
Extracts a font from a set of attributes.
Specified by:
getFont in interface StyledDocument

Parameters:
attributes - the attributes from which to get a font

Returns:
the font that correspond to the attributes


getForeground

public Color getForeground(AttributeSet attributes)
Extracts a foreground color from a set of attributes.
Specified by:
getForeground in interface StyledDocument

Parameters:
attributes - the attributes from which to get a foreground color

Returns:
the foreground color that correspond to the attributes


getLogicalStyle

public Style getLogicalStyle(int position)
Returns the logical Style for the specified position.
Specified by:
getLogicalStyle in interface StyledDocument

Parameters:
position - the position from which to query to logical style

Returns:
the logical Style for the specified position


getParagraphElement

public Element getParagraphElement(int position)
Returns the paragraph element for the specified position.
Specified by:
getParagraphElement in interface StyledDocument
Overrides:
getParagraphElement in interface AbstractDocument

Parameters:
position - the position for which to query the paragraph element

Returns:
the paragraph element for the specified position


getStyle

public Style getStyle(String nm)
Looks up and returns a named Style.
Specified by:
getStyle in interface StyledDocument

Parameters:
nm - the name of the Style

Returns:
the found Style of null if no such Style exists


removeStyle

public void removeStyle(String nm)
Removes a named Style from the style hierarchy.
Specified by:
removeStyle in interface StyledDocument

Parameters:
nm - the name of the Style to be removed


setCharacterAttributes

public void setCharacterAttributes(int offset,
                                   int length,
                                   AttributeSet attributes,
                                   boolean replace)
Sets text attributes for the fragment specified by offset and length.
Specified by:
setCharacterAttributes in interface StyledDocument

Parameters:
offset - the start offset of the fragment
length - the length of the fragment
attributes - the text attributes to set
replace - if true, the attributes of the current selection are overridden, otherwise they are merged


setLogicalStyle

public void setLogicalStyle(int position,
                            Style style)
Sets the logical style for the paragraph at the specified position.
Specified by:
setLogicalStyle in interface StyledDocument

Parameters:
position - the position at which the logical style is added
style - the style to set for the current paragraph


setParagraphAttributes

public void setParagraphAttributes(int offset,
                                   int length,
                                   AttributeSet attributes,
                                   boolean replace)
Sets text attributes for the paragraph at the specified fragment.
Specified by:
setParagraphAttributes in interface StyledDocument

Parameters:
offset - the beginning of the fragment
length - the length of the fragment
attributes - the text attributes to set
replace - if true, the attributes of the current selection are overridden, otherwise they are merged


DefaultStyledDocument.java -- Copyright (C) 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.