Spec-Zone .ru
спецификации, руководства, описания, API
|
public class NumberFormatter extends InternationalFormatter
NumberFormatter
подклассы InternationalFormatter
добавление специального поведения для чисел. Среди специализаций (они только используются если NumberFormatter
не выводит на экран недопустимый nubers, eg setAllowsInvalid(false)
): DecimalFormatSymbols
связанный с DecimalFormat
) в любом поле, но экспоненте поле попытается изменить знак числа к положительному/отрицательному. DecimalFormatSymbols
связанный с DecimalFormat
) в экспоненте поле будет attemp, чтобы изменить знак экспоненты к положительному/отрицательному. Если Вы выводите на экран научные числа, можно хотеть включить режим перезаписи, 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, поддержка длительного хранения всего JavaBeansTM была добавлена к java.beans
пакет. Пожалуйста, см. XMLEncoder
.
Конструктор и Описание |
---|
NumberFormatter()
Создает a
NumberFormatter со значение по умолчанию NumberFormat экземпляр, полученный из NumberFormat.getNumberInstance() . |
NumberFormatter(NumberFormat format)
Создает NumberFormatter с указанным экземпляром Формата.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
setFormat(Format format)
Устанавливает формат, который диктует юридические значения, которые могут быть отредактированы и выведены на экран.
|
clone, getActions, getFields, getFormat, getMaximum, getMinimum, install, setMaximum, setMinimum, stringToValue, valueToString
getAllowsInvalid, getCommitsOnValidEdit, getDocumentFilter, getNavigationFilter, getOverwriteMode, getValueClass, setAllowsInvalid, setCommitsOnValidEdit, setOverwriteMode, setValueClass
getFormattedTextField, invalidEdit, setEditValid, uninstall
public NumberFormatter()
NumberFormatter
со значение по умолчанию NumberFormat
экземпляр, полученный из NumberFormat.getNumberInstance()
.public NumberFormatter(NumberFormat format)
format
- Формат, используемый, чтобы продиктовать юридические значенияpublic void setFormat(Format format)
Если Вы использовали nullary конструктора, значение этого свойства будет определено для текущей локали посредством NumberFormat.getNumberInstance()
метод.
setFormat
в классе InternationalFormatter
format
- Экземпляр NumberFormat, используемый, чтобы продиктовать юридические значения
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.