Это мой код:jFormatedTextField формат валюта на реальное время ввода данных пользователя
// create the formatters, default, display, edit
NumberFormatter defaultFormatter = new NumberFormatter(new DecimalFormat("#.##"));
NumberFormatter displayFormatter = new NumberFormatter(new DecimalFormat("#.##€"));
NumberFormatter editFormatter = new NumberFormatter(new DecimalFormat("#.##"));
// set their value classes
defaultFormatter.setValueClass(Double.class);
displayFormatter.setValueClass(Double.class);
editFormatter.setValueClass(Double.class);
// create and set the DefaultFormatterFactory
DefaultFormatterFactory valueFactory = new DefaultFormatterFactory(defaultFormatter,displayFormatter,editFormatter);
jFormattedTextField4.setFormatterFactory(valueFactory);
jFormattedTextField1.setFormatterFactory(valueFactory);
Я получаю вопросы, когда вводимый пользователя значение с точкой, как (2.33), изменение formatedtextfield к (2 €), и это не так, потому что пользователь ввел действительное значение. Если пользователь вводит (2,33), результат равен (2,33) и снова не допускается, так как должен быть (2.33)
В принципе, я всегда хочу формат (X.XX). Пример:
вход против того, что я хочу: 2-2.00 €/ 2,22-2.22 €/ 312.54-312.54 €/ 432-432.00 €/ 2,2-2.20 €
EDITED: неделю назад это работало, после того как я смонтировал этот проект в других окнах, проблема возникла. В это время у меня есть португальская клавиатура. Возможно ли, что проблема связана с любыми окнами или системным свойством?
Отредактировано: Я все еще ища помощь. Кто угодно??? : S
К сожалению, я не понимаю ваш код = \ – user3753426