Spec-Zone.ru › OpenJDK 27

Класс JFormattedTextField.AbstractFormatter

java.lang.Object
javax.swing.JFormattedTextField.AbstractFormatter
Все реализуемые интерфейсы:
Serializable
Прямые известные подклассы:
DefaultFormatter
Внешний класс:
JFormattedTextField
public abstract static class JFormattedTextField.AbstractFormatter extends Object implements Serializable
Экземпляры AbstractFormatter используются JFormattedTextField для преобразования Object в String и обратно — String в Object. 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 и возвращает произвольный Object.
void uninstall()
Удаляет все состояния, установленные AbstractFormatter в JFormattedTextField.
abstract String valueToString(Object value)
Возвращает строковое значение для отображения value.

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

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
boolean equals(Object obj)
Показывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии.
Финализация признана устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно путем получения уведомления (notified) или прерывания (interrupted).
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно путем получения уведомления (notified) или прерывания (interrupted), либо истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно путем получения уведомления (notified) или прерывания (interrupted), либо истечения заданного промежутка реального времени.

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

AbstractFormatter

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

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

install

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

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

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

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

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

uninstall

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

stringToValue

public abstract Object stringToValue(String text) throws ParseException
Разбирает text и возвращает произвольный Object. Некоторые средства форматирования могут возвращать null.
Параметры:
text — String для преобразования
Возвращает:
Представление текста в виде Object
Исключения:
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 установит их в ActionMap объекта JFormattedTextField.
Возвращает:
Массив Actions для установки в 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, 2026, 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.

Spec-Zone.ru

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