Очень простое решение - использовать прослушиватель действий.
TextFieldActionPerformed(java.awt.event.ActionEvent evt) {
try{
Integer.parseInteger(TextField.getText());
}
catch(Exception e){
JOptionPane.showMessageDialog(null, "Please insert Valid Number Only");
TextField.setText(TextField.getText().substring(0,TextField.getText().length()-1));
}
}
Вы можете использовать его и для Double:
Double.parseDouble(TextField.getText());