Класс 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
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает копию AbstractFormatter. |
protected Action[] |
getActions() |
Подклассы и переопределение, если вы хотите предоставить настраиваемый набор Action. |
protected DocumentFilter |
getDocumentFilter() |
Подклассы и переопределение, если вы хотите предоставить DocumentFilter для ограничения вводимых данных. |
protected JFormattedTextField |
getFormattedTextField() |
Возвращает текущий JFormattedTextField, на котором установлен AbstractFormatter. |
protected NavigationFilter |
getNavigationFilter() |
Подклассы и переопределение, если вы хотите предоставить фильтр для ограничения навигации пользователя. |
void |
install |
Устанавливает AbstractFormatter на определенный JFormattedTextField. |
protected void |
invalidEdit() |
Это необходимо вызывать, когда пользователь вводит недопустимый символ. |
protected void |
setEditValid |
Вызовите это, чтобы обновить свойство editValid JFormattedTextField. |
abstract Object |
stringToValue |
Парсит text, возвращая произвольный объект. |
void |
uninstall() |
Отменяет установку любого состояния, которое может быть установлено AbstractFormatter на JFormattedTextField. |
abstract String |
valueToString |
Возвращает строковое значение для отображения value. |
Подробное описание конструкторов
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()
setEditValid
protected void setEditValid(boolean valid)
editValid JFormattedTextField. Если вы хотите гарантировать, что JFormattedTextField всегда находится в допустимом состоянии, вам никогда не нужно будет вызывать этот метод.- Параметры:
-
valid- Допустимое состояние JFormattedTextField
getActions
protected Action[] getActions()
Action. install установит их на JFormattedTextField ActionMap. - Возвращает:
- Массив Actions для установки на JFormattedTextField
getDocumentFilter
protected DocumentFilter getDocumentFilter()
DocumentFilter для ограничения вводимых данных. install установит возвращаемое значение на JFormattedTextField. - Требования к реализации:
- По умолчанию возвращается
null. - Возвращает:
- DocumentFilter для ограничения редактирования
clone
protected Object clone() throws CloneNotSupportedException
AbstractFormatter. Возвращённый экземпляр не связан с JFormattedTextField. - Переопределяет:
-
cloneв классеObject - Возвращает:
- Копию AbstractFormatter
- Исключения:
-
CloneNotSupportedException- если класс объекта не поддерживает интерфейсCloneable. Подклассы, переопределяющие методclone, также могут выбросить это исключение, чтобы указать, что экземпляр не может быть клонирован. - См. также:
© 1993, 2021, 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/17/docs/api/java.desktop/javax/swing/JFormattedTextField.AbstractFormatter.html