Класс DefaultFormatter
- java.lang.Object
-
- javax.swing.JFormattedTextField.AbstractFormatter
-
- javax.swing.text.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
- См. также:
JFormattedTextField.AbstractFormatter
Конструкторы
| Конструктор и описание |
|---|
DefaultFormatter() Создаёт DefaultFormatter. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Object |
clone() Создаёт копию DefaultFormatter. |
boolean |
getAllowsInvalid() Возвращает, разрешено ли значение, которое редактируется, быть невалидным на некоторое время. |
boolean |
getCommitsOnValidEdit() Возвращает, когда правки публикуются обратно в |
protected DocumentFilter |
getDocumentFilter() Возвращает |
protected NavigationFilter |
getNavigationFilter() Возвращает |
boolean |
getOverwriteMode() Возвращает поведение при вставке символов. |
Class<?> |
getValueClass() Возвращает класс, используемый для создания новых объектов. |
void |
install(JFormattedTextField ftf) Устанавливает |
void |
setAllowsInvalid(boolean allowsInvalid) Устанавливает, разрешено ли значение, которое редактируется, быть невалидным на некоторое время (то есть, |
void |
setCommitsOnValidEdit(boolean commit) Устанавливает, когда правки публикуются обратно в |
void |
setOverwriteMode(boolean overwriteMode) Конфигурирует поведение при вставке символов. |
void |
setValueClass(Class<?> valueClass) Устанавливает класс, используемый для создания новых объектов. |
Object |
stringToValue(String string) Преобразует переданную строку в экземпляр |
String |
valueToString(Object value) Преобразует переданный объект в строку с помощью метода |
Методы, унаследованные от класса javax.swing.JFormattedTextField.AbstractFormatter
getActions, getFormattedTextField, invalidEdit, setEditValid, uninstall Методы, унаследованные от класса java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
DefaultFormatter
public DefaultFormatter()
Создаёт 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 для ограничения изменений
getNavigationFilter
protected NavigationFilter getNavigationFilter()
Возвращает NavigationFilter , используемый для ограничения позиции курсора.
- Overrides:
-
getNavigationFilterв классеJFormattedTextField.AbstractFormatter - Возвращает:
- NavigationFilter для ограничения навигации
clone
public Object clone()
throws CloneNotSupportedException Создаёт копию DefaultFormatter.
- Overrides:
-
cloneв классеJFormattedTextField.AbstractFormatter - Возвращает:
- копию DefaultFormatter
- Исключение:
-
CloneNotSupportedException- если класс объекта не поддерживает интерфейсCloneable. Подклассы, переопределяющие методclone, также могут выбросить это исключение, чтобы указать, что экземпляр не может быть клонирован. - См. также:
Cloneable
© 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.