JavaTM 2 Platform
Standard Ed. 6

javax.swing.text
類別 DocumentFilter

java.lang.Object
  繼承者 javax.swing.text.DocumentFilter

public class DocumentFilter
extends Object

DocumentFilter,顧名思義,它是 Document 改變方法的一個過濾器。修改包含 DocumentFilterDocument 時(通過 insertremove),它將適當的方法調用轉發給 DocumentFilter。該預設實作允許進行修改。通過有條件地調用父級類別方法,或在傳入的 FilterBypass 上調用必要的方法,子類別可以過濾修改。子類別不應回調 Document 進行修改,而應調用父級類別或 FilterBypass

DocumentFilter 上調用 removeinsertString 時,DocumentFilter 可能多次回調 FilterBypass,或針對不同的區域,但它不應在從 removeinsertString 方法返回後回調 FilterBypass

從以下版本開始:
1.4
另請參見:
Document

巢狀類別摘要
static class DocumentFilter.FilterBypass
          充當避開回調 Document 進行更改的方法。
 
建構子摘要
DocumentFilter()
           
 
方法摘要
 void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr)
          將文本插入指定的 Document 之前調用。
 void remove(DocumentFilter.FilterBypass fb, int offset, int length)
          移除指定 Document 中的指定區域之前調用。
 void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs)
          在替換指定的 Document 中的文本區域之前調用。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

DocumentFilter

public DocumentFilter()
方法詳細資訊

remove

public void remove(DocumentFilter.FilterBypass fb,
                   int offset,
                   int length)
            throws BadLocationException
移除指定 Document 中的指定區域之前調用。希望有條件地允許移除的子類別應覆寫此方法,並只在必要的時候調用父級類別實作,或者根據需要直接調用 FilterBypass

參數:
fb - 可用於改動 Document 的 FilterBypass
offset - 起始位置處的偏移量,該值 >= 0
length - 要移除的字元數,該值 >= 0
拋出:
BadLocationException - 移除範圍的有些部分不是文檔的有效部分。異常中的位置為遇到的第一個損壞位置。

insertString

public void insertString(DocumentFilter.FilterBypass fb,
                         int offset,
                         String string,
                         AttributeSet attr)
                  throws BadLocationException
將文本插入指定的 Document 之前調用。希望有條件地允許插入的子類別應覆寫此方法,並只在必要的時候調用父級類別實作,或者直接調用 FilterBypass。

參數:
fb - 可用於改動 Document 的 FilterBypass
offset - 要插入內容的偏移量,該值 >= 0。追蹤給定的位置或其後位置的更改的所有位置都將移動。
string - 要插入的字元串
attr - 要與插入的內容關聯的屬性。如果沒有屬性,它可能為 null。
拋出:
BadLocationException - 給定的插入位置不是文檔中的有效位置

replace

public void replace(DocumentFilter.FilterBypass fb,
                    int offset,
                    int length,
                    String text,
                    AttributeSet attrs)
             throws BadLocationException
在替換指定的 Document 中的文本區域之前調用。希望有條件地允許替換的子類別應覆寫此方法,並只在必要的時候調用父級類別實作,或者直接調用 FilterBypass。

參數:
fb - 可用於改動 Document 的 FilterBypass
offset - Document 中的 Location
length - 要刪除的文本的長度
text - 要插入的文本,null 指示沒有要插入的文本
attrs - 指示插入的文本的屬性的 AttributeSet,null 也為合法。
拋出:
BadLocationException - 給定的插入位置不是文檔中的有效位置

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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