Spec-Zone.ru › OpenJDK 25

Класс InternationalFormatter

java.lang.Object
javax.swing.JFormattedTextField.AbstractFormatter
javax.swing.text.DefaultFormatter
javax.swing.text.InternationalFormatter
Все реализованные интерфейсы:
Serializable, Cloneable
Прямые известные подклассы:
DateFormatter, NumberFormatter
public class InternationalFormatter extends DefaultFormatter
InternationalFormatter extends DefaultFormatter, используя экземпляр java.text.Format для преобразования в строку и из строки.

Если getAllowsInvalid() имеет значение false, класс будет запрашивать у Format форматирование текущего текста при каждом редактировании.

Минимальное и максимальное значения можно задать с помощью методов setMinimum и setMaximum. Чтобы это работало, значения, возвращаемые stringToValue, должны быть сравнимы с минимальным и максимальным значениями посредством интерфейса Comparable.

Будьте осторожны при настройке Format и InternationalFormatter, поскольку можно создать ситуацию, в которой некоторые значения нельзя будет ввести. Рассмотрим формат даты «M/d/yy», InternationalFormatter, который всегда допустим (setAllowsInvalid(false)), работает в режиме замены (setOverwriteMode(true)), и дату 7/1/99. В этом случае пользователь не сможет ввести двузначное значение месяца или дня месяца. Чтобы избежать этого, следует использовать формат «MM/dd/yy».

Если InternationalFormatter настроен так, чтобы допускать только допустимые значения (setAllowsInvalid(false)), при каждом допустимом редактировании текст JFormattedTextField будет полностью сбрасываться на основе Format. Положение курсора также будет скорректировано при добавлении или удалении литеральных символов в результирующей строке.

Поведение InternationalFormatter при выполнении stringToValue немного отличается от поведения DefaultTextFormatter; выполняются следующие действия:

  1. На Format, заданном параметром setFormat, вызывается parseObject
  2. Если для значений задан класс (setValueClass), вызывается реализация суперкласса для преобразования значения, возвращённого parseObject, в соответствующий класс.
  3. Если исключение ParseException не было выброшено и значение выходит за пределы минимума или максимума, выбрасывается исключение ParseException.
  4. Возвращается значение.
InternationalFormatter реализует stringToValue таким образом, чтобы можно было задать класс, отличный от Format, который может возвращать результат.

Предупреждение: Сериализованные объекты этого класса будут несовместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. XMLEncoder.

Начиная с версии:
1.4
См. также:
  • Format
  • Comparable

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

Конструктор Описание
InternationalFormatter()
Создаёт InternationalFormatter без заданного Format.
InternationalFormatter(Format format)
Создаёт InternationalFormatter с указанным экземпляром Format.

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

Модификатор и тип Метод Описание
Object clone()
Создаёт копию DefaultFormatter.
protected Action[] getActions()
Если getSupportsIncrement возвращает true, возвращает два действия, подходящих для увеличения и уменьшения значения.
Format.Field[] getFields(int offset)
Возвращает константы Format.Field, связанные с текстом в позиции offset.
Format getFormat()
Возвращает формат, определяющий допустимые значения, которые можно редактировать и отображать.
Comparable<?> getMaximum()
Возвращает максимально допустимое значение.
Comparable<?> getMinimum()
Возвращает минимально допустимое значение.
void install(JFormattedTextField ftf)
Устанавливает DefaultFormatter для заданного JFormattedTextField.
void setFormat(Format format)
Задаёт формат, определяющий допустимые значения, которые можно редактировать и отображать.
void setMaximum(Comparable<?> max)
Задаёт максимально допустимое значение.
void setMinimum(Comparable<?> minimum)
Задаёт минимально допустимое значение.
Object stringToValue(String text)
Возвращает представление Object для String text.
String valueToString(Object value)
Возвращает строковое представление объекта value.

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

getAllowsInvalid, getCommitsOnValidEdit, getDocumentFilter, getNavigationFilter, getOverwriteMode, getValueClass, setAllowsInvalid, setCommitsOnValidEdit, setOverwriteMode, setValueClass

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

getFormattedTextField, invalidEdit, setEditValid, uninstall

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

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

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

InternationalFormatter

public InternationalFormatter()
Создаёт InternationalFormatter без заданного Format.

InternationalFormatter

public InternationalFormatter(Format format)
Создаёт InternationalFormatter с указанным экземпляром Format.
Параметры:
format — экземпляр Format, используемый для преобразования строк в значения и обратно

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

setFormat

public void setFormat(Format format)
Задаёт формат, определяющий допустимые значения, которые можно редактировать и отображать.
Параметры:
format — экземпляр Format, используемый для преобразования строк в значения и обратно

getFormat

public Format getFormat()
Возвращает формат, определяющий допустимые значения, которые можно редактировать и отображать.
Возвращает:
Экземпляр Format, используемый для преобразования строк в значения и обратно

setMinimum

public void setMinimum(Comparable<?> minimum)
Задаёт минимально допустимое значение. Если valueClass не задан и minimum не равен null, значение valueClass будет установлено в соответствии с классом minimum.
Параметры:
minimum — минимальное допустимое значение, которое можно ввести
См. также:
  • DefaultFormatter.setValueClass(Class)

getMinimum

public Comparable<?> getMinimum()
Возвращает минимально допустимое значение.
Возвращает:
Минимальное допустимое значение, которое можно ввести

setMaximum

public void setMaximum(Comparable<?> max)
Задаёт максимально допустимое значение. Если valueClass не задан и max не равен null, значение valueClass будет установлено в соответствии с классом max.
Параметры:
max — максимальное допустимое значение, которое можно ввести
См. также:
  • DefaultFormatter.setValueClass(Class)

getMaximum

public Comparable<?> getMaximum()
Возвращает максимально допустимое значение.
Возвращает:
Максимальное допустимое значение, которое можно ввести

install

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

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

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

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

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

valueToString

public String valueToString(Object value) throws ParseException
Возвращает строковое представление объекта value. Для этого вызывается format текущего Format.
Переопределяет:
valueToString в классе DefaultFormatter
Параметры:
value — значение для преобразования
Возвращает:
Строковое представление значения
Выбрасывает:
ParseException — если при преобразовании произошла ошибка

stringToValue

public Object stringToValue(String text) throws ParseException
Возвращает представление Object для String text.
Переопределяет:
stringToValue в классе DefaultFormatter
Параметры:
text — String для преобразования
Возвращает:
Представление Object для текста
Выбрасывает:
ParseException — если при преобразовании произошла ошибка

getFields

public Format.Field[] getFields(int offset)
Возвращает константы Format.Field, связанные с текстом в позиции offset. Если offset не является допустимой позицией в текущем тексте, возвращается пустой массив.
Параметры:
offset — смещение в тексте, которое требуется проверить
Возвращает:
Константы Format.Field, связанные с текстом в указанной позиции.

clone

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

getActions

protected Action[] getActions()
Если getSupportsIncrement возвращает true, возвращает два действия, подходящих для увеличения и уменьшения значения.
Переопределяет:
getActions в классе JFormattedTextField.AbstractFormatter
Возвращает:
Массив действий для установки в JFormattedTextField

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

Spec-Zone.ru

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