Я использую для JFormattedTextField
для ввода чисел с десятичными точками.Ниже приведен форматтер.
public static AbstractFormatterFactory createFormatter() {
final NumberFormat format = NumberFormat.getInstance();
final InternationalFormatter formatter = new InternationalFormatter(format);
formatter.setValueClass(Double.class);
formatter.setAllowsInvalid(false);
formatter.setOverwriteMode(true);
formatter.setCommitsOnValidEdit(true);
return new DefaultFormatterFactory(formatter, formatter, formatter);
}
При setAllowsInvalid(false)
точки игнорируются, но запятые добавляются каждые 3 цифры по желанию.При setAllowsInvalid(true)
периоды принимаются, но запятые не отображаются, пока фокус не изменится.
Есть ли способ иметь оба поведения?