Spec-Zone.ru › OpenJDK 21

Класс 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
См. также:
  • 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 по мере необходимости.
Параметры:
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, 2023, 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://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/text/DocumentFilter.html

Spec-Zone.ru

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