Класс DefaultFormatter
- Все реализованные интерфейсы:
-
Serializable,Cloneable
- Прямые известные подклассы:
-
InternationalFormatter,MaskFormatter
public class DefaultFormatter extends JFormattedTextField.AbstractFormatter implements Cloneable, Serializable
DefaultFormatter форматирует произвольные объекты. Форматирование выполняется путём вызова метода toString. Для преобразования значения обратно в строку, ваш класс должен содержать конструктор, принимающий строковый аргумент. Если такой конструктор не найден, возвращаемое значение будет строкой, переданной в stringToValue. Экземпляры класса DefaultFormatter не могут использоваться в нескольких экземплярах JFormattedTextField. Чтобы получить копию уже настроенного DefaultFormatter, используйте метод clone.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans была добавлена в пакет java.beans. Пожалуйста, обратитесь к 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 |
valueToString |
Преобразует переданный объект в строку с помощью метода toString. |
Методы, объявленные в классе javax.swing.JFormattedTextField.AbstractFormatter
getActions, getFormattedTextField, invalidEdit, setEditValid, uninstall
Подробное описание конструкторов
DefaultFormatter
public DefaultFormatter()
Подробное описание методов
install
public void install(JFormattedTextField ftf)
DefaultFormatter на конкретное JFormattedTextField. Это вызовет valueToString для преобразования текущего значения из JFormattedTextField в строку. После этого установятся обработчики Action из getActions, DocumentFilter, возвращённое из getDocumentFilter, и NavigationFilter, возвращённое из getNavigationFilter, на JFormattedTextField. Подклассы обычно переопределяют этот метод только если необходимо установить дополнительные слушатели на JFormattedTextField.
Если при преобразовании текущего значения в строку возникнет ошибка, текст будет установлен в пустую строку, и JFormattedTextField будет помечен как недействительный.
Хотя этот метод является публичным, он обычно полезен только для подклассов JFormattedTextField. JFormattedTextField вызовет этот метод в соответствующие моменты, когда значение или внутреннее состояние изменяются.
- Overrides:
-
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 с помощью конструктора, принимающего строковый аргумент. Если getValueClass возвращает null, используется класс текущего значения в JFormattedTextField. Если это null, возвращается строка. Если конструктор вызывает исключение, выбрасывается 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.- Overrides:
-
getDocumentFilterв классеJFormattedTextField.AbstractFormatter - Возвращает:
- DocumentFilter для ограничения изменений
clone
public Object clone() throws CloneNotSupportedException
- Overrides:
-
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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/DefaultFormatter.html