Datum-Textfeld auf Datumseingabe prüfen?

haudek

Grünschnabel
Hallo,

ich bin ziemlich neu in JAVA,

aber wie prüfe ich in einem SWT Dialog beim Verlassen eines Eingabe-Textfeldes, ob ein (Geburts)Datum eingegeben worden ist? Es soll entweder keine Eingabe oder eine korrekte Eingabe erlaubt sein.

Bei Falscheingabe soll ein kleine Messagebox erscheinen mit Hinweis zum Format, und beim bestätigen anschliessend wieder in das Textfeld springen.
Das ganz soll solange laufen bis es korrekt eingegeben worden ist oder leer ist:

Bisher habe ich folgenden Code:
Code:
GeburtstagText.addFocusListener(new FocusAdapter() {
	public void focusLost(FocusEvent e) {
		SimpleDateFormat format = new SimpleDateFormat("dd.MM.yy");
		Date date = null;
		try {
                  date = format.parse(GeburtstagText.getText());
		} 
		catch (ParseException et){
			      MessageBox Datumprüfen =  new MessageBox(sShell, SWT.OK |               SWT.APPLICATION_MODAL | SWT.ICON_INFORMATION);
		           Datumprüfen.setText("Datumseigabe wiederholen");
		           Datumprüfen.setMessage("Bitte das Datum so eingeben: TT.MM.JJJJ          z.B. 01.07.1965");
		          Datumprüfen.open();
		          date = null;
		          GeburtstagText.setText("");
		          GeburtstagText.forceFocus();
		}
	} 
});
 
Zuletzt bearbeitet:
Benutze doch bitte die code-Tags damit der Code hier formatiert dargestellt wird. Diese findest du im Menü beim Schreiben von Beiträgen.

Das was du hast sieht doch schon gut aus. Du musst doch in der Exception nur noch mit getText().trim().equals("") prüfen ob gar kein Text eingegeben wurde und nur dann die Messagebox öffnen.
 
Zurück