JFormattedTextField с NumberFormatter из 6 целых и 6 десятичных знаков - JAVA - PullRequest
0 голосов
/ 08 апреля 2019

Я не могу заставить этот форматер работать. Я хочу установить максимальную длину для целого числа как 6 и десятичных дробей как также 6. Я использую DecimalFormat и применяю шаблон "######. ######".

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

Я объявил поле на уровне класса.

    private JFormattedTextField currencyConversionRateField;

Вот метод инициализации.

    this.currencyConversionRateField = new JFormattedTextField();
    DecimalFormat currencyFormat = new DecimalFormat();
    currencyFormat.applyPattern("######.######");
    currencyConversionRateField.setFormatterFactory(new DefaultFormatterFactory(
                            new NumberFormatter(currencyFormat)));
    currencyConversionRateField.setFocusLostBehavior(JFormattedTextField.PERSIST);

Я попробовал эти методы ниже, но они не работали.

    currencyFormat.setMaximumFractionDigits(6);
    currencyFormat.setMaximumIntegerDigits(6);

Также я передал строку "######. ######" непосредственно в конструктор DecimalFormat, и это тоже не сработало.

Пожалуйста, сообщите и спасибо!

...