Hola:
La clase
JFormattedTextField, junto con un MaskFormatter te pueden filtrar la entrada de teclado, de forma que ni siquiera dejaría teclear letras.
Otra opción, con JTextField que impide el tecleo de determinados caracteres, es hacerse un
Document propio.
Si quieres comprobarlo como estás intentando, tendrás que hacer un bucle para ir recorriendo los caracteres de la cadena recogida e ir comprobando uno por uno si son dígitos.
Se bueno.