Spec-Zone.ru › OpenJDK 24

Класс DocumentFilter

java.lang.Object
javax.swing.text.DocumentFilter
public class DocumentFilter extends Object
DocumentFilter, как следует из названия, является фильтром для методов мутации Document. Когда Document, содержащий DocumentFilter, модифицируется (через insert или remove), он пересылает соответствующее обращение к методу к 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
See Also:
  • Document
  • AbstractDocument
  • DefaultStyledDocument

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static class  DocumentFilter.FilterBypass
Используется как способ обойти обратные вызовы в Документ для его изменения.

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

Конструктор Описание
DocumentFilter()
Создает 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()
Создает DocumentFilter.

Подробное описание методов

remove

public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException
Вызывается перед удалением указанной области в указанном Документе. Подклассы, которые хотят условно разрешить удаление, должны переопределить этот метод и только при необходимости вызывать реализацию суперкласса или напрямую обращаться к FilterBypass при необходимости.
Parameters:
fb - FilterBypass, который может быть использован для мутации документа
offset - смещение от начала >= 0
length - количество символов для удаления >= 0
Throws:
BadLocationException - какая-то часть диапазона удаления не являлась допустимой частью документа. Местоположение в исключении — это первая обнаруженная неверная позиция.

insertString

public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException
Вызывается перед вставкой текста в указанный Документ. Подклассы, которые хотят условно разрешить вставку, должны переопределить этот метод и только при необходимости вызывать реализацию суперкласса или напрямую обращаться к FilterBypass.
Parameters:
fb - FilterBypass, который может быть использован для мутации документа
offset - смещение в документе для вставки содержимого >= 0. Все позиции, отслеживающие изменения в или после заданной позиции, будут перемещены.
string - строка для вставки
attr - атрибуты, связанные с вставляемым содержимым. Может быть null, если атрибутов нет.
Throws:
BadLocationException - заданная позиция вставки не является допустимой позицией в документе

replace

public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException
Вызывается перед заменой области текста в указанном Документе. Подклассы, которые хотят условно разрешить замену, должны переопределить этот метод и только при необходимости вызывать реализацию суперкласса или напрямую обращаться к FilterBypass.
Parameters:
fb - FilterBypass, который может быть использован для мутации документа
offset - Позиция в документе
length - Длина удаляемого текста
text - Текст для вставки, null указывает на отсутствие текста для вставки
attrs - AttributeSet, указывающий атрибуты вставляемого текста, null допустим.
Throws:
BadLocationException - заданная позиция вставки не является допустимой позицией в документе

Отправить отчет об ошибке или предложить улучшение
Для получения дополнительной справки по API и документации для разработчиков см. документацию Java SE, которая содержит более подробные описания для разработчиков с концептуальными обзорами, определениями терминов, обходными путями и рабочими примерами кода. Другие версии.
Java — товарный знак или зарегистрированный товарный знак Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование подчиняется условиям лицензии и политике перераспределения документации.
DRAFT 24-ea+36-Debian-1

© 1993, 2025, 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/DocumentFilter.html

Spec-Zone.ru

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