Как установить jFormattedTextField, чтобы он допускал только 2 числа? - PullRequest
5 голосов
/ 26 декабря 2011

Я новичок в Java и NetBeans.Я пытаюсь создать простую программу, в которой вы вводите 2 числа, а их сумма делится на два.Тем не менее, я использую JFormattedTExtField s, и я не знаю, как настроить разрешенный ввод в них.В основном я пытаюсь выяснить, как:

  • Разрешать вводить только цифры JFormmatedTextField;
  • Разрешать только определенное количество чисел;

1 Ответ

9 голосов
/ 26 декабря 2011

Вы можете использовать NumberFormat и указать максимальное количество целых чисел с помощью setMaximumIntegerDigits .

Вот хорошая статья .

В основном вы можете сделать что-то вроде:

NumberFormat f = NumberFormat.getNumberInstance(); 
f.setMaximumIntegerDigits(maxDigitsAmount);
JFormattedTextField field = new JFormattedTextField(f);

Формат должен гарантировать, что вставленная строка удовлетворяет формату. В любом случае, даже если указан номер, текстовое поле будет хранить его как строку. Так что, если вам нужен ваш оригинальный Integer, вам нужно перестроить его, как предложено @noise:

Integer i = Integer.toString(field.getText());
...