Spec-Zone.ru › OpenJDK 24

Класс JFormattedTextField.AbstractFormatter

java.lang.Object
javax.swing.JFormattedTextField.AbstractFormatter
Все реализованные интерфейсы:
Serializable
Непосредственные подклассы:
DefaultFormatter
Вложенный класс:
JFormattedTextField
public abstract static class JFormattedTextField.AbstractFormatter extends Object implements Serializable
Экземпляры класса AbstractFormatter используются классом JFormattedTextField для обработки преобразования как из объекта в строку, так и обратно из строки в объект. Классы AbstractFormatter также могут обеспечивать правила редактирования, навигации или манипулировать JFormattedTextField любым удобным способом для реализации желаемых правил.

Класс AbstractFormatter может быть активен только в одном JFormattedTextField за раз. Класс JFormattedTextField вызывает метод install, когда готов использовать его, а затем uninstall по завершении. Подклассы, которые хотят установить дополнительное состояние, должны переопределить метод install и корректно обратиться к суперклассу.

Подклассы должны переопределить методы преобразования stringToValue и valueToString. По желанию, они могут переопределить методы getActions, getNavigationFilter и getDocumentFilter, чтобы ограничить JFormattedTextField определённым образом.

Подклассы, которые допускают временное некорректное состояние JFormattedTextField, должны вызывать метод setEditValid в соответствующие моменты.

С тех пор как:
1.4

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

AbstractFormatter()
Модификатор Конструктор Описание
protected
Конструктор для вызова подклассами.

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

Модификатор и тип Метод Описание
protected Object clone()
Клонирует AbstractFormatter.
protected Action[] getActions()
Переопределите в подклассе, если хотите предоставить пользовательский набор Action.
protected DocumentFilter getDocumentFilter()
Переопределите в подклассе, если хотите предоставить DocumentFilter для ограничения вводимых данных.
protected JFormattedTextField getFormattedTextField()
Возвращает текущий JFormattedTextField, на котором установлен AbstractFormatter.
protected NavigationFilter getNavigationFilter()
Переопределите в подклассе, если хотите предоставить фильтр для ограничения навигации пользователя.
void install(JFormattedTextField ftf)
Устанавливает AbstractFormatter на конкретный JFormattedTextField.
protected void invalidEdit()
Должен вызываться при вводе некорректного символа пользователем.
protected void setEditValid(boolean valid)
Вызов для обновления свойства editValid JFormattedTextField.
abstract Object stringToValue(String text)
Парсит text, возвращая произвольный объект.
void uninstall()
Удаляет любое состояние, которое AbstractFormatter мог установить на JFormattedTextField.
abstract String valueToString(Object value)
Возвращает строку, отображаемую для value.

Методы, унаследованные от класса java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

AbstractFormatter

protected AbstractFormatter()
Конструктор для вызова подклассами.

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

install

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

Подклассы обычно должны переопределять этот метод только в случае, если они хотят установить дополнительные слушатели на JFormattedTextField.

Если при преобразовании текущего значения в строку возникает ошибка, это установит текст в пустую строку и отметит JFormattedTextField как находящийся в недопустимом состоянии.

Хотя это и общедоступный метод, он обычно полезен только для подклассов JFormattedTextField. JFormattedTextField вызовет этот метод в соответствующие моменты при изменении значения или при изменении его внутреннего состояния. Вам нужно будет вызвать его самостоятельно только в случае, если вы создаёте подкласс JFormattedTextField и устанавливаете/удаляете AbstractFormatter в другое время, чем делает JFormattedTextField.

Параметры:
ftf - JFormattedTextField для форматирования, может быть null, что указывает на отмену установки для текущего JFormattedTextField.

uninstall

public void uninstall()
Удаляет любой установленный AbstractFormatter на JFormattedTextField. Это сбросит DocumentFilter, NavigationFilter и дополнительные Action, установленные на JFormattedTextField.

stringToValue

public abstract Object stringToValue(String text) throws ParseException
Анализирует text, возвращая произвольный объект. Некоторые форматировщики могут вернуть null.
Параметры:
text - Строка для преобразования
Возвращает:
Объектное представление текста
Исключения:
ParseException - если при преобразовании произошла ошибка

valueToString

public abstract String valueToString(Object value) throws ParseException
Возвращает строковое значение для отображения value.
Параметры:
value - Значение для преобразования
Возвращает:
Строковое представление значения
Исключения:
ParseException - если при преобразовании произошла ошибка

getFormattedTextField

protected JFormattedTextField getFormattedTextField()
Возвращает текущий JFormattedTextField, на котором установлен AbstractFormatter.
Возвращает:
JFormattedTextField для форматирования.

invalidEdit

protected void invalidEdit()
Должен вызываться при вводе пользователем недопустимого символа. Перенаправляет вызов на текущий JFormattedTextField.

setEditValid

protected void setEditValid(boolean valid)
Вызовите этот метод для обновления свойства editValid JFormattedTextField. Если вы хотите гарантировать, что JFormattedTextField всегда находится в допустимом состоянии, вам не нужно будет вызывать этот метод.
Параметры:
valid - Допустимое состояние JFormattedTextField

getActions

protected Action[] getActions()
Переопределите подкласс, если хотите предоставить настраиваемый набор Action. install установит их на JFormattedTextField's ActionMap.
Возвращает:
Массив Actions для установки на JFormattedTextField

getDocumentFilter

protected DocumentFilter getDocumentFilter()
Переопределите подкласс, если хотите предоставить DocumentFilter для ограничения вводимых данных. install установит возвращаемое значение на JFormattedTextField.
Требования к реализации:
По умолчанию реализация возвращает null.
Возвращает:
DocumentFilter для ограничения редактирования

getNavigationFilter

protected NavigationFilter getNavigationFilter()
Переопределите подкласс, если хотите предоставить фильтр для ограничения навигации пользователя. install установит возвращаемое значение на JFormattedTextField.
Требования к реализации:
По умолчанию реализация возвращает null.
Возвращает:
NavigationFilter для ограничения навигации

clone

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

© 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/JFormattedTextField.AbstractFormatter.html

Spec-Zone.ru

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