Spec-Zone.ru › OpenJDK 25

Класс DocumentFilter

java.lang.Object
javax.swing.text.DocumentFilter
public class DocumentFilter extends Object
DocumentFilter, как следует из названия, является фильтром для методов изменения Document. Когда Document, содержащий DocumentFilter, изменяется (через insert или remove), он передает соответствующий вызов метода в DocumentFilter. Реализация по умолчанию разрешает изменение. Подклассы могут фильтровать изменения, условно вызывая методы суперкласса или вызывая необходимые методы у переданного FilterBypass. Подклассам НЕ следует вызывать Document для внесения изменений; вместо этого следует вызывать суперкласс или FilterBypass.

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

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

Начиная с:
1.4
См. также:
  • Document
  • AbstractDocument
  • DefaultStyledDocument

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

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

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

Конструктор Описание
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)
Вызывается перед заменой области текста в указанном документе.

Методы, объявленные в классе 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 — заданная позиция вставки не является допустимой позицией в документе

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

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/DocumentFilter.html

Spec-Zone.ru

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