Класс DefaultFormatter
- Все реализуемые интерфейсы:
Serializable, Cloneable
- Прямые известные подклассы:
InternationalFormatter, MaskFormatter
public class DefaultFormatter extends JFormattedTextField.AbstractFormatter implements Cloneable, Serializable
DefaultFormatter форматирует произвольные объекты. Форматирование выполняется вызовом метода toString. Для преобразования значения обратно в строку ваш класс должен предоставить конструктор, принимающий аргумент типа String. Если конструктор с одним аргументом типа String не найден, возвращённым значением будет строка, переданная в stringToValue. Экземпляры DefaultFormatter нельзя использовать в нескольких экземплярах JFormattedTextField. Чтобы получить копию уже настроенного DefaultFormatter, используйте метод clone.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации предназначена для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакете java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. XMLEncoder.
- С версии:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultFormatter() |
Создаёт DefaultFormatter. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Создаёт копию DefaultFormatter. |
boolean |
getAllowsInvalid() |
Возвращает, допускается ли, чтобы редактируемое значение некоторое время было недопустимым. |
boolean |
getCommitsOnValidEdit() |
Возвращает, когда изменения передаются обратно в JFormattedTextField. |
protected DocumentFilter |
getDocumentFilter() |
Возвращает DocumentFilter, используемый для ограничения символов, которые можно вводить в JFormattedTextField. |
protected NavigationFilter |
getNavigationFilter() |
Возвращает NavigationFilter, используемый для ограничения положения курсора. |
boolean |
getOverwriteMode() |
Возвращает поведение при вставке символов. |
Class |
getValueClass() |
Возвращает класс, используемый для создания новых объектов. |
void |
install |
Устанавливает DefaultFormatter для заданного JFormattedTextField. |
void |
setAllowsInvalid |
Задаёт, допускается ли, чтобы редактируемое значение некоторое время было недопустимым (то есть stringToValue выбрасывает ParseException). |
void |
setCommitsOnValidEdit |
Задаёт, когда изменения передаются обратно в JFormattedTextField. |
void |
setOverwriteMode |
Настраивает поведение при вставке символов. |
void |
setValueClass |
Задаёт класс, используемый для создания новых объектов. |
Object |
stringToValue |
Преобразует переданную строку в экземпляр getValueClass с помощью конструктора, принимающего аргумент типа String. |
String |
valueToString |
Преобразует переданный объект в строку с помощью метода toString. |
Методы, объявленные в классе JFormattedTextField.AbstractFormatter
getActions, getFormattedTextField, invalidEdit, setEditValid, uninstall
Подробное описание конструкторов
DefaultFormatter
public DefaultFormatter()
Подробное описание методов
install
public void install(JFormattedTextField ftf)
DefaultFormatter для заданного JFormattedTextField. Этот метод вызывает valueToString для преобразования текущего значения из JFormattedTextField в строку. Затем он устанавливает Actions из getActions, DocumentFilter, возвращённый getDocumentFilter, и NavigationFilter, возвращённый getNavigationFilter, для JFormattedTextField. Подклассам обычно нужно переопределять этот метод только в том случае, если они хотят установить дополнительные обработчики для JFormattedTextField.
Если при преобразовании текущего значения в строку возникает ParseException, текст будет задан как пустая строка, а JFormattedTextField будет помечен как находящийся в недопустимом состоянии.
Хотя этот метод является открытым, он обычно полезен только для создания подклассов JFormattedTextField. JFormattedTextField вызывает этот метод в подходящий момент при изменении значения или внутреннего состояния.
- Переопределяет:
-
installв классеJFormattedTextField.AbstractFormatter - Параметры:
-
ftf— JFormattedTextField, для которого выполняется форматирование; может быть null, что означает удаление форматтера из текущего JFormattedTextField.
setCommitsOnValidEdit
public void setCommitsOnValidEdit(boolean commit)
JFormattedTextField. Если значение true, commitEdit вызывается после каждого допустимого изменения (при каждом редактировании текста). Если же значение false, DefaultFormatter не передаёт изменения обратно в JFormattedTextField. Таким образом, значение JFormattedTextField изменится только при вызове commitEdit для JFormattedTextField — обычно при нажатии клавиши Enter или потере фокуса JFormattedTextField.- Параметры:
-
commit— указывает, когда изменения фиксируются в JTextComponent
getCommitsOnValidEdit
public boolean getCommitsOnValidEdit()
JFormattedTextField.- Возвращает:
- true, если изменения фиксируются после каждого допустимого редактирования
setOverwriteMode
public void setOverwriteMode(boolean overwriteMode)
overwriteMode равно true (значение по умолчанию), новые символы заменяют существующие символы в модели.- Параметры:
-
overwriteMode— указывает, используется ли режим замены
getOverwriteMode
public boolean getOverwriteMode()
- Возвращает:
- true, если новые вставленные символы заменяют существующие
setAllowsInvalid
public void setAllowsInvalid(boolean allowsInvalid)
stringToValue выбрасывает ParseException). Часто удобно разрешить пользователю временно вводить недопустимое значение.- Параметры:
-
allowsInvalid— указывает, должно ли редактируемое значение всегда быть допустимым
getAllowsInvalid
public boolean getAllowsInvalid()
- Возвращает:
- false, если редактируемое значение всегда должно быть допустимым
setValueClass
public void setValueClass(Class<?> valueClass)
- Параметры:
-
valueClass— класс, используемый для создания возвращаемого значения из stringToValue
getValueClass
public Class<?> getValueClass()
- Возвращает:
- класс, используемый для создания возвращаемого значения из stringToValue
stringToValue
public Object stringToValue(String string) throws ParseException
getValueClass с помощью конструктора, принимающего аргумент типа String. Если getValueClass возвращает null, будет использоваться класс текущего значения в JFormattedTextField. Если он равен null, будет возвращена строка String. Если конструктор выбрасывает исключение, будет выброшено ParseException. Если конструктора с одним аргументом типа String нет, будет возвращено string.- Определён в:
-
stringToValueв классеJFormattedTextField.AbstractFormatter - Параметры:
-
string— строка для преобразования - Возвращает:
- объектное представление текста
- Выбрасывает:
-
ParseException— если при преобразовании возникла ошибка
valueToString
public String valueToString(Object value) throws ParseException
toString.- Определён в:
-
valueToStringв классеJFormattedTextField.AbstractFormatter - Параметры:
-
value— значение для преобразования - Возвращает:
- строковое представление значения
- Выбрасывает:
-
ParseException— если при преобразовании возникла ошибка
getDocumentFilter
protected DocumentFilter getDocumentFilter()
DocumentFilter, используемый для ограничения символов, которые можно вводить в JFormattedTextField.- Переопределяет:
-
getDocumentFilterв классеJFormattedTextField.AbstractFormatter - Возвращает:
- DocumentFilter для ограничения изменений
clone
public Object clone() throws CloneNotSupportedException
- Переопределяет:
-
cloneв классеJFormattedTextField.AbstractFormatter - Возвращает:
- копию DefaultFormatter
- Выбрасывает:
-
CloneNotSupportedException— если класс объекта не поддерживает интерфейсCloneable. Подклассы, переопределяющие методclone, также могут выбрасывать это исключение, чтобы указать, что экземпляр нельзя клонировать. - См. также:
© 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/DefaultFormatter.html