Обнуление спиннера в Java
Как вы добавляете нулевое заполнение к JSpinner
?
Поскольку спиннер создает JFormattedTextField
Сам я не могу просто передать формат в конструктор JFormattedTextField.
Разве нет способа установить форматирование на существующий JFormattedTextField
?
Что я хочу: значение = 37, редактор = "0037"
ОБНОВИТЬ:
Я попробовал это как предложено:
JSpinner mySpinner = new JSpinner();
mySpinner.setEditor(
new JSpinner.NumberEditor(mySpinner, "####"));
и результат совершенно не меняется в представлении данных счетчика. Это кажется разумным решением; кто-нибудь пробовал это успешно, так что я могу быть уверен, что это просто что-то нехорошее в моем приложении
2 ответа
Вы можете установить редактор самостоятельно, например так:
// minimum of four digits
mySpinner.setEditor(new JSpinner.NumberEditor(mySpinner, "0000"));
"0000"
это DecimalFormat
строка, указывающая четыре цифры, дополненные нулями по мере необходимости; "####"
указывает четыре цифры, но не вводит ноль.
DecimalFormat
Документация API описывает строки форматирования более подробно.
Ссылаясь на javadocs, JSpinner имеет метод setEditor(JComponent). Используйте это, чтобы установить свой пользовательский JFormattedTextField с его пользовательским форматом.