Класс 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 Object |
clone() |
Клонирует |
protected Action[] |
getActions() |
Подклассы и переопределите, если хотите предоставить собственный набор |
protected DocumentFilter |
getDocumentFilter() |
Подклассы и переопределите, если хотите предоставить |
protected JFormattedTextField |
getFormattedTextField() |
Возвращает текущий |
protected NavigationFilter |
getNavigationFilter() |
Подклассы и переопределите, если хотите предоставить фильтр для ограничения навигации пользователя. |
void |
install(JFormattedTextField ftf) |
Устанавливает |
protected void |
invalidEdit() |
Это следует вызывать, когда пользователь вводит недопустимый символ. |
protected void |
setEditValid(boolean valid) |
Вызовите это, чтобы обновить свойство |
abstract Object |
stringToValue(String text) |
Парсит |
void |
uninstall() |
Отменяет установку любого состояния, которое |
abstract String |
valueToString(Object value) |
Возвращает строковое значение для отображения |
Методы, объявленные в классе java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Конструкторы
AbstractFormatter
public AbstractFormatter()
Методы
install
Устанавливает 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.
- Возвращает:
- Массив действий для установки на JFormattedTextField
getDocumentFilter
protected DocumentFilter getDocumentFilter()
Подклассы и переопределите, если хотите предоставить DocumentFilter для ограничения ввода. install установит возвращаемое значение на JFormattedTextField.
- Возвращает:
- DocumentFilter для ограничения редактирования
getNavigationFilter
protected NavigationFilter getNavigationFilter()
Подклассы и переопределите, если хотите предоставить фильтр для ограничения навигации пользователя. install установит возвращаемое значение на JFormattedTextField.
- Возвращает:
- NavigationFilter для ограничения навигации
clone
protected Object clone()
throws CloneNotSupportedException
Клонирует AbstractFormatter. Возвращенный экземпляр не связан с JFormattedTextField.
- Переопределяет:
-
cloneв классеObject - Возвращает:
- Копию AbstractFormatter
- Исключения:
-
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/JFormattedTextField.AbstractFormatter.html