Spec-Zone.ru › OpenJDK 17

Класс 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() ложно, это запросит у 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. Вызывается parseObject на Format, указанном в setFormat
  2. Если для значений задан класс (setValueClass), вызывается реализация метода для преобразования значения, возвращаемого методом parseObject, в соответствующий класс.
  3. Если исключение ParseException не произошло, и значение находится вне диапазона мин/макс, генерируется исключение ParseException.
  4. Возвращается значение.
InternationalFormatter реализует stringToValue таким образом, чтобы вы могли указать альтернативный класс, отличный от Format может вернуть.

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

С:
1.4
См. также:
  • Format
  • Comparable

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

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

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

Модификатор и тип Метод Описание
Object clone()
Создаёт копию DefaultFormatter.
protected Action[] getActions()
Если getSupportsIncrement возвращает true, возвращает два Action, подходящие для инкремента/декремента значения.
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.

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

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

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

getFormattedTextField, invalidEdit, setEditValid, uninstall

Методы, объявленные в классе java.lang.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(java.lang.Class<?>)

getMinimum

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

setMaximum

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

getMaximum

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

install

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

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

Если при преобразовании текущего значения в строку произошла ошибка, это установит текст в пустую строку и отметит 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 - Строка для преобразования
Возвращает:
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, возвращает два Action, подходящих для инкремента/декремента значения.
Переопределяет:
getActions в классе JFormattedTextField.AbstractFormatter
Возвращает:
Массив Action для установки на JFormattedTextField

© 1993, 2021, 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/17/docs/api/java.desktop/javax/swing/text/InternationalFormatter.html

Spec-Zone.ru

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