Spec-Zone.ru › OpenJDK 8

Класс 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 не было брошено, а значение находится за пределами min/max, выбрасывается 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 - Экземпляр формата, используемый для преобразования из/в строки

Методы

setFormat

public void setFormat(Format format)

Устанавливает формат, определяющий допустимые значения, которые могут быть отредактированы и отображены.

Параметры:
format - Экземпляр формата, используемый для преобразования из/в строки

getFormat

public Format getFormat()

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

Возвращает:
Экземпляр формата, используемый для преобразования из/в строки

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, 2020, 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