Spec-Zone.ru › OpenJDK 27

Класс 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 расширяет 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
Модификатор и тип Метод Описание
boolean getAllowsInvalid()
Возвращает, допускается ли временная некорректность редактируемого значения.
boolean getCommitsOnValidEdit()
Возвращает, когда изменения передаются обратно в JFormattedTextField.
protected DocumentFilter getDocumentFilter()
Возвращает DocumentFilter, используемый для ограничения символов, которые можно вводить в JFormattedTextField.
protected NavigationFilter getNavigationFilter()
Возвращает NavigationFilter, используемый для ограничения положения курсора.
boolean getOverwriteMode()
Возвращает поведение при вставке символов.
Class<?> getValueClass()
Возвращает класс, используемый для создания новых объектов.
void setAllowsInvalid(boolean allowsInvalid)
Задаёт, допускается ли временная некорректность редактируемого значения (то есть, выбрасывает ли stringToValue исключение ParseException).
void setCommitsOnValidEdit(boolean commit)
Задаёт, когда изменения передаются обратно в JFormattedTextField.
void setOverwriteMode(boolean overwriteMode)
Настраивает поведение при вставке символов.
void setValueClass(Class<?> valueClass)
Задаёт класс, используемый для создания новых объектов.

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

getFormattedTextField, invalidEdit, setEditValid, uninstall
Модификатор и тип Метод Описание
protected JFormattedTextField getFormattedTextField()
Возвращает текущий JFormattedTextField, на котором установлен AbstractFormatter.
protected void invalidEdit()
Этот метод следует вызывать, когда пользователь вводит недопустимый символ.
protected void setEditValid(boolean valid)
Вызовите этот метод, чтобы обновить свойство editValid объекта JFormattedTextField.
void uninstall()
Удаляет любое состояние, которое AbstractFormatter мог установить на JFormattedTextField.

Методы, объявленные в классе 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()
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения определённого времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения определённого времени.

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

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. Для преобразования текущего значения из JFormattedTextField в строку будет вызван valueToString. Затем на 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, 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