JavaTM 2 Platform
Standard Ed. 6

javax.swing.text
類別 DefaultStyledDocument

java.lang.Object
  繼承者 javax.swing.text.AbstractDocument
      繼承者 javax.swing.text.DefaultStyledDocument
所有已實作的介面:
Serializable, Document, StyledDocument
直接已知子類別:
HTMLDocument

public class DefaultStyledDocument
extends AbstractDocument
implements StyledDocument

能夠以類似富文本格式 (Rich Text Format) 的方式對其字元和段落樣式進行標記的文檔。此文檔的元素結構表示樣式在運行時的相互參考。這些樣式運行被映射到段落元素結構(也有可能以其他結構形式駐留)。樣式運行在段落邊界處中斷,原因是段落邊界被指派了邏輯樣式。

警告:此類別的已序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲或運行相同 Swing 版本的應用程序之間的 RMI。從 1.4 版本開始,已在 java.beans 套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder

另請參見:
Document, AbstractDocument

巢狀類別摘要
static class DefaultStyledDocument.AttributeUndoableEdit
          用於記住 AttributeSet 對 Element 更改的一個 UndoableEdit。
 class DefaultStyledDocument.ElementBuffer
          管理對元素層次結構更改的類別。
static class DefaultStyledDocument.ElementSpec
          建構元素的規範。
protected  class DefaultStyledDocument.SectionElement
          文檔的預設根元素... 與所包含的段落/行對應。
 
從類別 javax.swing.text.AbstractDocument 繼承的巢狀類別/介面
AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractDocument.LeafElement
 
欄位摘要
protected  DefaultStyledDocument.ElementBuffer buffer
           
static int BUFFER_SIZE_DEFAULT
          初始內容緩衝區的預設大小。
 
從類別 javax.swing.text.AbstractDocument 繼承的欄位
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName
 
從介面 javax.swing.text.Document 繼承的欄位
StreamDescriptionProperty, TitleProperty
 
建構子摘要
DefaultStyledDocument()
          建構預設的樣式化文檔。
DefaultStyledDocument(AbstractDocument.Content c, StyleContext styles)
          建構樣式化文檔。
DefaultStyledDocument(StyleContext styles)
          建構具有預設的內容存儲實作和一組共享樣式的樣式化文檔。
 
方法摘要
 void addDocumentListener(DocumentListener listener)
          添加負責通知任何更改的文檔偵聽器。
 Style addStyle(String nm, Style parent)
          向邏輯樣式層次結構中添加新樣式。
protected  void create(DefaultStyledDocument.ElementSpec[] data)
          初始化文檔,以反映給定元素結構(即由 getDefaultRootElement 方法報告的結構)。
protected  AbstractDocument.AbstractElement createDefaultRoot()
          創建用於代表預設文檔結構的根元素。
 Color getBackground(AttributeSet attr)
          從屬性集獲得背景顏色。
 Element getCharacterElement(int pos)
          獲得基於某個位置的字元元素。
 Element getDefaultRootElement()
          獲得預設的根元素。
 Font getFont(AttributeSet attr)
          從屬性集獲得字體。
 Color getForeground(AttributeSet attr)
          從屬性集獲得前景色。
 Style getLogicalStyle(int p)
          獲取表示給定位置處分派給段落的邏輯樣式。
 Element getParagraphElement(int pos)
          獲得位於偏移量 pos 的段落元素。
 Style getStyle(String nm)
          獲取以前添加的已命名的樣式。
 Enumeration<?> getStyleNames()
          獲取樣式名稱列表。
protected  void insert(int offset, DefaultStyledDocument.ElementSpec[] data)
          批量插入新元素。
protected  void insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)
          在文本插入後更新文檔結構。
 void removeDocumentListener(DocumentListener listener)
          移除文檔偵聽器。
 void removeStyle(String nm)
          移除以前添加到文檔中的已命名樣式。
protected  void removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
          在文本移除後更新文檔結構。
 void setCharacterAttributes(int offset, int length, AttributeSet s, boolean replace)
          為文檔某些部分設置屬性。
 void setLogicalStyle(int pos, Style s)
          設置給定位置處用於段落的邏輯樣式。
 void setParagraphAttributes(int offset, int length, AttributeSet s, boolean replace)
          設置段落屬性。
protected  void styleChanged(Style style)
          此文檔樣式有任何改變時調用。
 
從類別 javax.swing.text.AbstractDocument 繼承的方法
addUndoableEditListener, createBranchElement, createLeafElement, createPosition, dump, fireChangedUpdate, fireInsertUpdate, fireRemoveUpdate, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, insertString, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
從介面 javax.swing.text.Document 繼承的方法
addUndoableEditListener, createPosition, getEndPosition, getLength, getProperty, getRootElements, getStartPosition, getText, getText, insertString, putProperty, remove, removeUndoableEditListener, render
 

欄位詳細資訊

BUFFER_SIZE_DEFAULT

public static final int BUFFER_SIZE_DEFAULT
初始內容緩衝區的預設大小。

另請參見:
常數欄位值

buffer

protected DefaultStyledDocument.ElementBuffer buffer
建構子詳細資訊

DefaultStyledDocument

public DefaultStyledDocument(AbstractDocument.Content c,
                             StyleContext styles)
建構樣式化文檔。

參數:
c - 內容容器
styles - 可跨文檔共享的資源和樣式定義

DefaultStyledDocument

public DefaultStyledDocument(StyleContext styles)
建構具有預設的內容存儲實作和一組共享樣式的樣式化文檔。

參數:
styles - 樣式

DefaultStyledDocument

public DefaultStyledDocument()
建構預設的樣式化文檔。此緩衝區輸入內容大小為 BUFFER_SIZE_DEFAULT 並有一個由文檔的生命週期確定其範圍且不與其他文檔共享的樣式上下文。

方法詳細資訊

getDefaultRootElement

public Element getDefaultRootElement()
獲得預設的根元素。

指定者:
介面 Document 中的 getDefaultRootElement
指定者:
類別 AbstractDocument 中的 getDefaultRootElement
返回:
另請參見:
Document.getDefaultRootElement()

create

protected void create(DefaultStyledDocument.ElementSpec[] data)
初始化文檔,以反映給定元素結構(即由 getDefaultRootElement 方法報告的結構)。如果該文檔包含了任何資料,將首先移除這些資料。


insert

protected void insert(int offset,
                      DefaultStyledDocument.ElementSpec[] data)
               throws BadLocationException
批量插入新元素。這有助於在取消鎖定狀態下對文檔進行解析並為元素結構修改做準備。此方法使用一個描述如何更新元素結構的標記陣列,這樣在非同步更新的情況下寫鎖定的時間得到顯著降低。

雖然大多數 Swing 方法不是執行緒安全的,但此方法是執行緒安全的。有關更多資訊,請參閱 How to Use Threads

參數:
offset - 起始偏移量,該偏移量 >= 0
data - 元素資料
拋出:
BadLocationException - 無效的起始偏移量

addStyle

public Style addStyle(String nm,
                      Style parent)
向邏輯樣式層次結構中添加新樣式。樣式屬性自下向上進行解析,所以在子級中指定的屬性將覆寫父級中指定的屬性。

指定者:
介面 StyledDocument 中的 addStyle
參數:
nm - 樣式的名稱(在命名樣式集合中必須是惟一的)。如果樣式未命名,則此名稱可能為 null,但是調用者要負責管理返回的參考,因為未命名的樣式不能通過其名稱獲取。未命名的樣式可以用於諸如字元屬性覆寫這樣的情況(例如在樣式運行中)。
parent - 父樣式。如果未指定的屬性不需要以其他樣式解析,則此值可以為 null。
返回:
樣式

removeStyle

public void removeStyle(String nm)
移除以前添加到文檔中的已命名樣式。

指定者:
介面 StyledDocument 中的 removeStyle
參數:
nm - 要移除的樣式的名稱

getStyle

public Style getStyle(String nm)
獲取以前添加的已命名的樣式。

指定者:
介面 StyledDocument 中的 getStyle
參數:
nm - 樣式名稱
返回:
樣式

getStyleNames

public Enumeration<?> getStyleNames()
獲取樣式名稱列表。

返回:
所有樣式名稱

setLogicalStyle

public void setLogicalStyle(int pos,
                            Style s)
設置給定位置處用於段落的邏輯樣式。如果沒有為字元和段落屬性顯式設置屬性,則它們將通過分派到段落的邏輯樣式進行解析,也就是通過某個層次結構來解析,這些層次結構完全獨立於文檔中元素的層次結構。

雖然大多數 Swing 方法不是執行緒安全的,但此方法是執行緒安全的。有關更多資訊,請參閱 How to Use Threads

指定者:
介面 StyledDocument 中的 setLogicalStyle
參數:
pos - 文檔開始處的偏移量,該偏移量 >= 0
s - 要分派給段落的邏輯樣式,如果沒有,則為 null

getLogicalStyle

public Style getLogicalStyle(int p)
獲取表示給定位置處分派給段落的邏輯樣式。

指定者:
介面 StyledDocument 中的 getLogicalStyle
參數:
p - 要轉換為段落的位置和確定邏輯樣式要分派到的位置,該值 >= 0。這是文檔開始處的偏移量。
返回:
樣式,如果沒有,則為 null

setCharacterAttributes

public void setCharacterAttributes(int offset,
                                   int length,
                                   AttributeSet s,
                                   boolean replace)
為文檔某些部分設置屬性。進行更改的過程中由此操作保持寫鎖定,並在更改成功完成後向偵聽器發送一個 DocumentEvent。

雖然大多數 Swing 方法不是執行緒安全的,但此方法是執行緒安全的。有關更多資訊,請參閱 How to Use Threads

指定者:
介面 StyledDocument 中的 setCharacterAttributes
參數:
offset - 文檔中的偏移量,該偏移量 >= 0
length - 長度,該長度 >= 0
s - 屬性
replace - 如果應在設置新屬性之前替換原來的屬性,則為 true

setParagraphAttributes

public void setParagraphAttributes(int offset,
                                   int length,
                                   AttributeSet s,
                                   boolean replace)
設置段落屬性。

雖然大多數 Swing 方法不是執行緒安全的,但此方法是執行緒安全的。有關更多資訊,請參閱 How to Use Threads

指定者:
介面 StyledDocument 中的 setParagraphAttributes
參數:
offset - 段落偏移量,該偏移量 >= 0
length - 所影響的字元數,該字元數 >= 0
s - 屬性
replace - 確定是替換現有屬性還是合併現有屬性

getParagraphElement

public Element getParagraphElement(int pos)
獲得位於偏移量 pos 的段落元素。一個段落至少要包含一個子 Element,它通常為葉元素。

指定者:
介面 StyledDocument 中的 getParagraphElement
指定者:
類別 AbstractDocument 中的 getParagraphElement
參數:
pos - 起始偏移量,該偏移量 >= 0
返回:
元素

getCharacterElement

public Element getCharacterElement(int pos)
獲得基於某個位置的字元元素。

指定者:
介面 StyledDocument 中的 getCharacterElement
參數:
pos - 文檔中的位置,該位置 >= 0
返回:
元素

insertUpdate

protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng,
                            AttributeSet attr)
在文本插入後更新文檔結構。這在一個寫鎖定內完成。此實作只解析插入的內容中的換行,然後為元素緩衝區建立一組指令。

覆寫:
類別 AbstractDocument 中的 insertUpdate
參數:
chng - 對文檔更改的描述
attr - 屬性

removeUpdate

protected void removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
在文本移除後更新文檔結構。

覆寫:
類別 AbstractDocument 中的 removeUpdate
參數:
chng - 對文檔更改的描述

createDefaultRoot

protected AbstractDocument.AbstractElement createDefaultRoot()
創建用於代表預設文檔結構的根元素。

返回:
基本元素

getForeground

public Color getForeground(AttributeSet attr)
從屬性集獲得前景色。

指定者:
介面 StyledDocument 中的 getForeground
參數:
attr - 屬性集
返回:
顏色

getBackground

public Color getBackground(AttributeSet attr)
從屬性集獲得背景顏色。

指定者:
介面 StyledDocument 中的 getBackground
參數:
attr - 屬性集
返回:
顏色

getFont

public Font getFont(AttributeSet attr)
從屬性集獲得字體。

指定者:
介面 StyledDocument 中的 getFont
參數:
attr - 屬性集
返回:
字體

styleChanged

protected void styleChanged(Style style)
此文檔樣式有任何改變時調用。子類別可能希望對損壞情況進行感知。

參數:
style - 已發生更改的樣式。

addDocumentListener

public void addDocumentListener(DocumentListener listener)
添加負責通知任何更改的文檔偵聽器。

指定者:
介面 Document 中的 addDocumentListener
覆寫:
類別 AbstractDocument 中的 addDocumentListener
參數:
listener - 偵聽器
另請參見:
Document.addDocumentListener(javax.swing.event.DocumentListener)

removeDocumentListener

public void removeDocumentListener(DocumentListener listener)
移除文檔偵聽器。

指定者:
介面 Document 中的 removeDocumentListener
覆寫:
類別 AbstractDocument 中的 removeDocumentListener
參數:
listener - 偵聽器
另請參見:
Document.removeDocumentListener(javax.swing.event.DocumentListener)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only