Spec-Zone.ru › OpenJDK 8

Класс DocumentFilter

  • java.lang.Object
    • javax.swing.text.DocumentFilter

public class DocumentFilter
extends Object

DocumentFilter, как следует из названия, является фильтром для методов мутации Document. Когда изменяется Document, содержащий DocumentFilter, он перенаправляет соответствующий вызов метода в DocumentFilter. По умолчанию изменение разрешено. Подклассы могут фильтровать изменения, условно вызывая методы суперкласса или вызывая необходимые методы переданного FilterBypass. Подклассы НЕ должны обращаться к документу для изменения, вместо этого следует обратиться к суперклассу или к FilterBypass.

При вызове remove или insertString на DocumentFilter, DocumentFilter может обращаться к FilterBypass несколько раз или для различных областей, но он не должен обращаться к FilterBypass после возвращения из метода remove или insertString.

По умолчанию, методы мутации документа, связанные с текстом, такие как insertString, replace и remove в AbstractDocument, используют DocumentFilter, если доступно, а методы мутации, связанные с Element, такие как create, insert и removeElement в DefaultStyledDocument, не используют DocumentFilter. Если метод не следует этим правилам, это должно быть явно указано в документации метода.

Since:
1.4
См. также:
Document, AbstractDocument, DefaultStyledDocument

Вложенные классы

Модификатор и тип Класс и описание
static class  DocumentFilter.FilterBypass

Используется для того, чтобы обойти обращение к документу для его изменения.

Краткое описание конструкторов

Конструктор и описание
DocumentFilter()

Краткое описание методов

Модификатор и тип Метод и описание
void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr)

Вызывается перед вставкой текста в указанный документ.

void remove(DocumentFilter.FilterBypass fb, int offset, int length)

Вызывается перед удалением указанного региона в указанном документе.

void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs)

Вызывается перед заменой области текста в указанном документе.

Методы, унаследованные от класса 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

Вызывается перед удалением указанного региона в указанном документе. Подклассы, которые хотят условно разрешить удаление, должны переопределить этот метод и вызвать реализацию суперкласса только в необходимых случаях или напрямую обратиться к FilterBypass по мере необходимости.

Параметры:
fb - FilterBypass, который можно использовать для изменения документа
offset - смещение от начала >= 0
length - количество символов для удаления >= 0
Исключения:
BadLocationException - какая-то часть диапазона удаления не являлась допустимой частью документа. Местоположение в исключении — это первая обнаруженная некорректная позиция.

insertString

public void insertString(DocumentFilter.FilterBypass fb,
                         int offset,
                         String string,
                         AttributeSet attr)
                  throws BadLocationException

Вызывается перед вставкой текста в указанный документ. Подклассы, которые хотят условно разрешить вставку, должны переопределить этот метод и вызвать реализацию суперкласса только в необходимых случаях или напрямую обратиться к FilterBypass.

Параметры:
fb - FilterBypass, который можно использовать для изменения документа
offset - смещение в документе для вставки содержимого >= 0. Все позиции, которые отслеживают изменения в или после заданного расположения, будут перемещены.
string - строка для вставки
attr - атрибуты, которые следует связать с вставленным содержимым. Может быть null, если нет атрибутов.
Исключения:
BadLocationException - заданная позиция вставки не является допустимой позицией в документе

replace

public void replace(DocumentFilter.FilterBypass fb,
                    int offset,
                    int length,
                    String text,
                    AttributeSet attrs)
             throws BadLocationException

Вызывается перед заменой области текста в указанном документе. Подклассы, которые хотят условно разрешить замену, должны переопределить этот метод и вызвать реализацию суперкласса только в необходимых случаях или напрямую обратиться к FilterBypass.

Параметры:
fb - FilterBypass, который можно использовать для изменения документа
offset - Позиция в документе
length - Длина текста для удаления
text - Текст для вставки, null указывает, что вставлять нечего
attrs - AttributeSet, указывающий атрибуты вставляемого текста, null допустим.
Исключения:
BadLocationException - заданная позиция вставки не является допустимой позицией в документе

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API