Spec-Zone.ru › OpenJDK 25

Класс JFormattedTextField.AbstractFormatter

java.lang.Object
javax.swing.JFormattedTextField.AbstractFormatter
Все реализуемые интерфейсы:
Serializable
Прямые известные подклассы:
DefaultFormatter
Внешний класс:
JFormattedTextField
public abstract static class JFormattedTextField.AbstractFormatter extends Object implements Serializable
Экземпляры AbstractFormatter используются классом JFormattedTextField для преобразования объекта в строку и обратно — строки в объект. AbstractFormatter также могут задавать правила редактирования или навигации либо любым подходящим способом изменять JFormattedTextField для обеспечения требуемых правил.

AbstractFormatter может быть активен только в одном JFormattedTextField одновременно. JFormattedTextField вызывает install, когда готов его использовать, а затем — uninstall, когда работа завершена. Подклассы, которым необходимо установить дополнительное состояние, должны переопределить install и соответствующим образом вызвать метод суперкласса.

Подклассы должны переопределить методы преобразования stringToValue и valueToString. При необходимости они могут переопределить getActions, getNavigationFilter и getDocumentFilter, чтобы особым образом ограничить JFormattedTextField.

Подклассы, допускающие временно недопустимое состояние JFormattedTextField, должны вызывать setEditValid в соответствующие моменты времени.

С момента:
1.4

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

AbstractFormatter()
Модификатор Конструктор Описание
protected
Конструктор для вызова из подклассов.

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

Модификатор и тип Метод Описание
protected Object clone()
Создает копию AbstractFormatter.
protected Action[] getActions()
Создайте подкласс и переопределите метод, если хотите предоставить собственный набор Action.
protected DocumentFilter getDocumentFilter()
Создайте подкласс и переопределите метод, если хотите предоставить DocumentFilter для ограничения вводимых данных.
protected JFormattedTextField getFormattedTextField()
Возвращает текущий JFormattedTextField, на котором установлен AbstractFormatter.
protected NavigationFilter getNavigationFilter()
Создайте подкласс и переопределите метод, если хотите предоставить фильтр, ограничивающий направления навигации пользователя.
void install(JFormattedTextField ftf)
Устанавливает AbstractFormatter для указанного JFormattedTextField.
protected void invalidEdit()
Этот метод следует вызывать, когда пользователь вводит недопустимый символ.
protected void setEditValid(boolean valid)
Вызовите этот метод, чтобы обновить свойство editValid объекта JFormattedTextField.
abstract Object stringToValue(String text)
Разбирает text и возвращает произвольный объект.
void uninstall()
Удаляет все состояния, установленные AbstractFormatter для JFormattedTextField.
abstract String valueToString(Object value)
Возвращает строковое значение для отображения value.

Методы, объявленные в классе Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

AbstractFormatter

protected AbstractFormatter()
Конструктор для вызова из подклассов.

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

install

public void install(JFormattedTextField ftf)
Устанавливает AbstractFormatter для указанного JFormattedTextField. Этот метод вызывает valueToString для преобразования текущего значения из JFormattedTextField в строку. Затем он устанавливает для JFormattedTextField Actions из getActions, DocumentFilter, возвращаемый методом getDocumentFilter, и NavigationFilter, возвращаемый методом getNavigationFilter.

Обычно подклассам нужно переопределять этот метод только в том случае, если необходимо установить дополнительные прослушиватели для JFormattedTextField.

Если при преобразовании текущего значения в строку возникает ParseException, текст устанавливается в пустую строку, а JFormattedTextField помечается как находящийся в недопустимом состоянии.

Несмотря на то, что этот метод является открытым, обычно он нужен только тем, кто создает подклассы JFormattedTextField. JFormattedTextField вызывает этот метод в соответствующие моменты времени при изменении значения или внутреннего состояния. Вызывать этот метод самостоятельно нужно только в том случае, если вы создаете подкласс JFormattedTextField и устанавливаете или удаляете AbstractFormatter в другое время, чем это делает JFormattedTextField.

Параметры:
ftf — JFormattedTextField, для которого выполняется форматирование; может быть null, что указывает на удаление форматирования с текущего JFormattedTextField.

uninstall

public void uninstall()
Удаляет все состояния, установленные AbstractFormatter для JFormattedTextField. При этом сбрасываются DocumentFilter, NavigationFilter и дополнительные Actions, установленные для JFormattedTextField.

stringToValue

public abstract Object stringToValue(String text) throws ParseException
Разбирает text и возвращает произвольный объект. Некоторые форматтеры могут возвращать null.
Параметры:
text — строка для преобразования
Возвращает:
Объектное представление текста
Вызывает исключение:
ParseException — если при преобразовании произошла ошибка

valueToString

public abstract String valueToString(Object value) throws ParseException
Возвращает строковое значение для отображения value.
Параметры:
value — значение для преобразования
Возвращает:
Строковое представление значения
Вызывает исключение:
ParseException — если при преобразовании произошла ошибка

getFormattedTextField

protected JFormattedTextField getFormattedTextField()
Возвращает текущий JFormattedTextField, на котором установлен AbstractFormatter.
Возвращает:
JFormattedTextField, для которого выполняется форматирование.

invalidEdit

protected void invalidEdit()
Этот метод следует вызывать, когда пользователь вводит недопустимый символ. Вызов перенаправляется текущему JFormattedTextField.

setEditValid

protected void setEditValid(boolean valid)
Вызовите этот метод, чтобы обновить свойство editValid объекта JFormattedTextField. Если вы можете установить правило, согласно которому JFormattedTextField всегда находится в допустимом состоянии, вызывать этот метод не потребуется.
Параметры:
valid — допустимое состояние JFormattedTextField

getActions

protected Action[] getActions()
Создайте подкласс и переопределите метод, если хотите предоставить собственный набор Action. install установит их для JFormattedTextField объекта ActionMap.
Возвращает:
Массив действий для установки в JFormattedTextField

getDocumentFilter

protected DocumentFilter getDocumentFilter()
Создайте подкласс и переопределите метод, если хотите предоставить DocumentFilter для ограничения вводимых данных. install установит возвращенное значение для JFormattedTextField.
Требования к реализации:
Реализация по умолчанию возвращает null.
Возвращает:
DocumentFilter для ограничения редактирования

getNavigationFilter

protected NavigationFilter getNavigationFilter()
Создайте подкласс и переопределите метод, если хотите предоставить фильтр, ограничивающий направления навигации пользователя. install установит возвращенное значение для JFormattedTextField.
Требования к реализации:
Реализация по умолчанию возвращает null.
Возвращает:
NavigationFilter для ограничения навигации

clone

protected Object clone() throws CloneNotSupportedException
Создает копию AbstractFormatter. Возвращенный экземпляр не связан с JFormattedTextField.
Переопределяет:
clone в классе Object
Возвращает:
Копия AbstractFormatter
Вызывает исключение:
CloneNotSupportedException — если класс объекта не поддерживает интерфейс Cloneable. Подклассы, переопределяющие метод clone, также могут выбросить это исключение, чтобы указать, что экземпляр нельзя клонировать.
См. также:
  • Cloneable

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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/JFormattedTextField.AbstractFormatter.html

Spec-Zone.ru

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