Spec-Zone.ru › OpenJDK 27

Класс 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. Чтобы преобразовать значение обратно в строку, ваш класс должен предоставить конструктор, принимающий аргумент типа String. Если конструктор с одним аргументом типа String не найден, возвращаемым значением будет строка, переданная в stringToValue.

Экземпляры DefaultFormatter нельзя использовать в нескольких экземплярах JFormattedTextField. Чтобы получить копию уже настроенного DefaultFormatter, используйте метод clone.

Предупреждение: сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации предназначена для краткосрочного хранения данных или использования RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.

Начиная с:
1.4
См. также:
  • JFormattedTextField.AbstractFormatter

Краткое описание конструкторов

Конструктор Описание
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(JFormattedTextField ftf)
Устанавливает DefaultFormatter для указанного JFormattedTextField.
void setAllowsInvalid(boolean allowsInvalid)
Задает, может ли редактируемое значение оставаться недопустимым в течение некоторого времени (то есть stringToValue выбрасывает ParseException).
void setCommitsOnValidEdit(boolean commit)
Задает, когда изменения передаются обратно в JFormattedTextField.
void setOverwriteMode(boolean overwriteMode)
Настраивает поведение при вставке символов.
void setValueClass(Class<?> valueClass)
Задает класс, используемый для создания новых объектов.
Object stringToValue(String string)
Преобразует переданную строку в экземпляр getValueClass с помощью конструктора, принимающего аргумент типа String.
String valueToString(Object value)
Преобразует переданный объект в строку с помощью метода toString.

Методы, объявленные в классе JFormattedTextField.AbstractFormatter

getActions, getFormattedTextField, invalidEdit, setEditValid, uninstall
Модификатор и тип Метод Описание
protected Action[] getActions()
Создайте подкласс и переопределите метод, если хотите предоставить собственный набор Action.
protected JFormattedTextField getFormattedTextField()
Возвращает текущий JFormattedTextField, на котором установлен AbstractFormatter.
protected void invalidEdit()
Этот метод следует вызывать, когда пользователь вводит недопустимый символ.
protected void setEditValid(boolean valid)
Вызовите этот метод, чтобы обновить свойство editValid объекта JFormattedTextField.
void uninstall()
Удаляет все состояния, которые AbstractFormatter мог установить для JFormattedTextField.

Методы, объявленные в классе Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии.
Финализация признана устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка времени.

Подробное описание конструкторов

DefaultFormatter

public DefaultFormatter()
Создает DefaultFormatter.

Подробное описание методов

install

public void install(JFormattedTextField ftf)
Устанавливает DefaultFormatter для указанного JFormattedTextField. При этом вызывается valueToString для преобразования текущего значения из JFormattedTextField в строку. Затем для JFormattedTextField устанавливаются Action из getActions, DocumentFilter, возвращаемый методом getDocumentFilter, и NavigationFilter, возвращаемый методом getNavigationFilter.

Обычно подклассам нужно переопределять этот метод только в том случае, если требуется установить дополнительные прослушиватели для 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)
Задает класс, используемый для создания новых объектов. Если у переданного класса нет конструктора с одним аргументом типа String, будут использоваться значения типа String.
Параметры:
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 для ограничения изменений

getNavigationFilter

protected NavigationFilter getNavigationFilter()
Возвращает NavigationFilter, используемый для ограничения положения курсора.
Переопределяет:
getNavigationFilter в классе JFormattedTextField.AbstractFormatter
Возвращает:
NavigationFilter для ограничения перемещения

clone

public Object clone() throws CloneNotSupportedException
Создает копию DefaultFormatter.
Переопределяет:
clone в классе JFormattedTextField.AbstractFormatter
Возвращает:
копию DefaultFormatter
Выбрасывает:
CloneNotSupportedException — если класс объекта не поддерживает интерфейс Cloneable. Подклассы, переопределяющие метод clone, также могут выбросить это исключение, чтобы указать, что экземпляр нельзя клонировать.
См. также:
  • Cloneable

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API