Article,

Nichts als die Wahrheit - Swing im JDK 1.3: Die Input Verification-Klasse

.
Java Magazin, (2000)

Abstract

Es wird auf Probleme der Eingabenvalidierung eingegangen. Eine sehr gute Einführung. Gleichzeitig hat sich der Author weitergehend mit dem Thema befasst und ein kleines Framework erstellt. Diese kann von der Heft CD kopiert werden. Die Klasse JComponent verfügt über eine Methode setInputVerifier(..). Mittels dieser kann man einen selbstgeschriebenen Validator zuweisen. Folgende grundsätzlichen Probleme müssen bei der InputValidierung beachtet werden. 1) Beim Cancel sollten keine Überprüfungen anstehen damit muss per setVerifyInputWhenFocusTarget = false die Validation ausgeschalten werden 2) Im Swing Dialog wird nur das Feld überprüft welches gerade den Focus hatte und diesen wechseln will. Das Framework verfolgt folgende Ziele: + Bei einer ungültigen Eingabe nicht einfach den Focus sperren (sonst tauscht der Anwender noch die Tastatur aus...) sondern eine Meldung anzeigen, die den Anwender auf seinen Fehler hinweist -> MessageInputVerifier + In der Meldung sollte auch der Name der Komponente enthalten sein - diese steckt meist im Label und muss beim Erstellen des Dialogs der Komponente übergeben werden. (putClientProperty) + Auswahlboxen und alle anderen Felder benötigen eine Prüfung ob eine Auswahl (gültiger) vorgenommen wurde. + Zusammenbau der Validation durch Verkettung mehrerer Validatoren -> Compound InputVerifier. z.B. Zuerst testen ob eine Eingabe vorgenommen wurde (z.B. StringInputVerifier) und dann ob es ein gültiges Datum ist (DateInputVerifier). + Utility Klasse mit allgemeinen Funktionen wie verifyChildren()

Tags

Users

  • @funthomas424242

Comments and Reviews