JTextField Númerico

Crea un clase NumericDocument con el siguiente código

package presentacion;

import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

public class NumericDocument extends PlainDocument {
        private static final long serialVersionUID = 1L;

        public void insertString(int offset, String str, AttributeSet a)
                        throws BadLocationException {
                if (str == null) {
                        return;
                }
                StringBuffer buf = new StringBuffer(str.length());
                for (int i = 0; i < str.length(); i++) {
                        if (Character.isDigit(str.charAt(i))) {
                                buf.append(str.charAt(i));
                        } else {
                                java.awt.Toolkit.getDefaultToolkit().beep();
                        }
                }
                super.insertString(offset, buf.toString(), a);
        }

}

Ahora solo hay que asignarselo al JTextField así:
numeroText.setDocument(new NumericDocument());