Класс 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 и корректно обработать сообщение super.
Подклассы должны переопределить методы преобразования 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
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 ActionMap.
- Возвращает:
- Массив Actions для установки на 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.