Класс 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. - Определено в:
-
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, 2023, 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/21/docs/api/java.desktop/javax/swing/text/DefaultFormatter.html