Класс 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; выполняются следующие действия:
-
Для
Format, заданного с помощьюsetFormat, вызываетсяparseObject - Если для значений задан класс (
setValueClass), вызывается реализация суперкласса для преобразования значения, возвращённогоparseObject, в соответствующий класс. - Если исключение
ParseExceptionне было выброшено и значение выходит за пределы минимума или максимума, выбрасывается исключениеParseException. - Возвращается значение.
InternationalFormatter реализует stringToValue таким образом, чтобы можно было указать класс, отличный от класса, который может возвращать Format. Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации предназначена для краткосрочного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакете java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.
- Начиная с версии:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
InternationalFormatter() |
Создаёт InternationalFormatter без указания Format. |
InternationalFormatter |
Создаёт InternationalFormatter с указанным экземпляром Format. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Создаёт копию DefaultFormatter. |
protected Action[] |
getActions() |
Если getSupportsIncrement возвращает true, возвращает два действия, подходящих для увеличения или уменьшения значения. |
Format.Field[] |
getFields |
Возвращает константы Format.Field, связанные с текстом в позиции offset. |
Format |
getFormat() |
Возвращает формат, определяющий допустимые для редактирования и отображения значения. |
Comparable |
getMaximum() |
Возвращает максимально допустимое значение. |
Comparable |
getMinimum() |
Возвращает минимально допустимое значение. |
void |
install |
Устанавливает DefaultFormatter для конкретного JFormattedTextField. |
void |
setFormat |
Задаёт формат, определяющий допустимые для редактирования и отображения значения. |
void |
setMaximum |
Задаёт максимально допустимое значение. |
void |
setMinimum |
Задаёт минимально допустимое значение. |
Object |
stringToValue |
Возвращает представление Object для String text. |
String |
valueToString |
Возвращает строковое представление объекта 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 |
Задаёт, допускается ли временная некорректность редактируемого значения (то есть, выбрасывает ли stringToValue исключение ParseException). |
void |
setCommitsOnValidEdit |
Задаёт, когда изменения передаются обратно в JFormattedTextField. |
void |
setOverwriteMode |
Настраивает поведение при вставке символов. |
void |
setValueClass |
Задаёт класс, используемый для создания новых объектов. |
Методы, объявленные в классе JFormattedTextField.AbstractFormatter
getFormattedTextField, invalidEdit, setEditValid, uninstall | Модификатор и тип | Метод | Описание |
|---|---|---|
protected JFormattedTextField |
getFormattedTextField() |
Возвращает текущий JFormattedTextField, на котором установлен AbstractFormatter. |
protected void |
invalidEdit() |
Этот метод следует вызывать, когда пользователь вводит недопустимый символ. |
protected void |
setEditValid |
Вызовите этот метод, чтобы обновить свойство editValid объекта JFormattedTextField. |
void |
uninstall() |
Удаляет любое состояние, которое AbstractFormatter мог установить на JFormattedTextField. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Указывает, равен ли какой-либо другой объект этому объекту. |
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 |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения определённого времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова 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- Минимальное допустимое значение, которое можно ввести - См. также:
getMinimum
public Comparable<?> getMinimum()
- Возвращает:
- Минимальное допустимое значение, которое можно ввести
setMaximum
public void setMaximum(Comparable<?> max)
valueClass не указан и max не равен null, для valueClass будет задан класс max.- Параметры:
-
max- Максимальное допустимое значение, которое можно ввести - См. также:
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
- Переопределяет:
-
cloneв классеDefaultFormatter - Возвращает:
- копию DefaultFormatter
- Выбрасывает:
-
CloneNotSupportedException- если класс объекта не поддерживает интерфейсCloneable. Подклассы, переопределяющие методclone, также могут выбросить это исключение, чтобы указать, что экземпляр нельзя клонировать. - См. также:
getActions
protected Action[] getActions()
getSupportsIncrement возвращает true, возвращает два действия, подходящих для увеличения или уменьшения значения.- Переопределяет:
-
getActionsв классеJFormattedTextField.AbstractFormatter - Возвращает:
- Массив действий для установки в JFormattedTextField
© 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.