Spec-Zone.ru › OpenJDK 8

Класс NumberFormatter

  • java.lang.Object
    • javax.swing.JFormattedTextField.AbstractFormatter
      • javax.swing.text.DefaultFormatter
        • javax.swing.text.InternationalFormatter
          • javax.swing.text.NumberFormatter
Все реализованные интерфейсы:
Serializable, Cloneable

public class NumberFormatter
extends InternationalFormatter

NumberFormatter подклассы InternationalFormatter добавляя специальное поведение для чисел. Среди специализаций (эти используются только если NumberFormatter не отображает недопустимые числа, например, setAllowsInvalid(false)) :

  • Нажатие +/- (– определяется из DecimalFormatSymbols связанного с DecimalFormat) в любом поле, кроме поля экспоненты, попытается изменить знак числа на положительный/отрицательный.
  • Нажатие +/- (– определяется из DecimalFormatSymbols связанного с DecimalFormat) в поле экспоненты попытается изменить знак экспоненты на положительный/отрицательный.

Если вы отображаете научные числа, вы можете включить режим перезаписи, setOverwriteMode(true). Например:

DecimalFormat decimalFormat = new DecimalFormat("0.000E0");
 NumberFormatter textFormatter = new NumberFormatter(decimalFormat);
 textFormatter.setOverwriteMode(true);
 textFormatter.setAllowsInvalid(false);

Если вы собираетесь разрешить пользователю вводить десятичные значения, вы должны либо заставить DecimalFormat содержать хотя бы одну десятичную цифру (#.0###), либо разрешить недопустимые значения setAllowsInvalid(true). В противном случае пользователи не смогут вводить десятичные значения.

NumberFormatter обеспечивает несколько отличное поведение для stringToValue по сравнению с его суперклассом. Если вы указали класс для значений, DefaultFormatter.setValueClass(java.lang.Class<?>), который является одним из Integer, Long, Float, Double, Byte или Short, и parseObject формата возвращает экземпляр Number, соответствующий экземпляр класса значения будет создан с помощью конструктора, подходящего для примитивного типа, который представляет класс значения. Например: setValueClass(Integer.class) приведет к тому, что результирующее значение будет создано через new Integer(((Number)formatter.parseObject(string)).intValue()). Это обычно полезно, если вы хотите установить минимальное/максимальное значение, так как различные Number реализации, как правило, не сравнимы друг с другом. Это также полезно, если по какой-либо причине вам нужен конкретный Number для ваших значений.

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

С:
1.4

Конструкторы

Конструктор и описание
NumberFormatter()

Создает NumberFormatter с экземпляром по умолчанию NumberFormat полученным из NumberFormat.getNumberInstance().

NumberFormatter(NumberFormat format)

Создает NumberFormatter с указанным экземпляром Format.

Методы

Модификатор и тип Метод и описание
void setFormat(Format format)

Устанавливает формат, определяющий допустимые значения, которые могут быть отредактированы и отображены.

Методы, унаследованные от класса javax.swing.text.InternationalFormatter

clone, getActions, getFields, getFormat, getMaximum, getMinimum, install, setMaximum, setMinimum, stringToValue, valueToString

Методы, унаследованные от класса javax.swing.text.DefaultFormatter

getAllowsInvalid, getCommitsOnValidEdit, getDocumentFilter, getNavigationFilter, getOverwriteMode, getValueClass, setAllowsInvalid, setCommitsOnValidEdit, setOverwriteMode, setValueClass

Методы, унаследованные от класса javax.swing.JFormattedTextField.AbstractFormatter

getFormattedTextField, invalidEdit, setEditValid, uninstall

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

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

Конструкторы

NumberFormatter

public NumberFormatter()

Создает NumberFormatter с экземпляром по умолчанию NumberFormat полученным из NumberFormat.getNumberInstance().

NumberFormatter

public NumberFormatter(NumberFormat format)

Создает NumberFormatter с указанным экземпляром Format.

Параметры:
format - Используемый формат, определяющий допустимые значения

Методы

setFormat

public void setFormat(Format format)

Устанавливает формат, определяющий допустимые значения, которые могут быть отредактированы и отображены.

Если вы использовали конструктор без параметров, значение этого свойства будет определяться для текущего языка с помощью метода NumberFormat.getNumberInstance().

Переопределяет:
setFormat в классе InternationalFormatter
Параметры:
format - Экземпляр NumberFormat, используемый для определения допустимых значений

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

Spec-Zone.ru

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