Класс 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/text/DefaultFormatter.html