Вы можете ограничить ввод символов в JTextField, добавив пользовательский KeyListener. Вот быстрый пример, чтобы продемонстрировать идею:
myTextField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if (!Character.isDigit(c)) {
e.consume(); // Stop the event from propagating.
}
}
});
Конечно, вам нужно учитывать специальные клавиши, такие как Delete, и комбинации, такие как CTRL-C, поэтому ваш KeyListener должен быть более сложным. Вероятно, есть даже свободно доступные утилиты, которые выполняют большую часть тяжелой работы за вас.