Potresti procedere in diversi modi:

usi un JFormattedField, espressioni regolari oppure sfrutti l'eccezione. Ti "illustro" brevemente quest'ultima ipotesi (che è anche la più semplice da realilzzare)
codice:
try {
  double d = Double.parseDouble(textfield.getText());
}
catch (Exception e) {
  textfield.setText("Invalid Number Format!");
  textfield.requestFocus();
}