![Page 1: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/1.jpg)
Swing: Daten prüfen
Karsten Lentzsch
![Page 2: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/2.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Ziel
Ansätze kennenlernen
wie man in Swing
Fachdaten prüfen kann
Lösungen bewerten können
![Page 3: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/3.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Vorstellung
Ich baue Swing-Anwendungen,
die viele Leute elegant finden
arbeite seit 1990 mit Objekten
helfe Anderen über und unter der Haube
biete Bibliotheken, die Swing ergänzen
biete Swing-Beispiele zu Architekturen
und schreibe über Desktop-Themen
![Page 4: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/4.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Gliederung
Einleitung
Grundlagen
Wer kann prüfen?
Wann und wie prüfen?
Wie anzeigen?
Erfahrungsbericht
![Page 5: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/5.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
I - Einleitung
![Page 6: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/6.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Swing-Bausteine
JRE / Swing
Panels
Laufzeitumgebung
Grundbausteine
Anwendungsrahmen
Hilfsbausteine
Prüfen
Anwendungen
BindenGestalten
Anwendung 1
Aussehen
Komponenten, Anwendungsverwaltung, etc.
Utils Hilfe Drucken
Anwendung 2
![Page 7: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/7.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Swing-Bausteine
JRE / Swing
Panels
Laufzeitumgebung
Grundbausteine
Anwendungsrahmen
Hilfsbausteine
Prüfen
Anwendungen
BindenGestalten
Anwendung 1
Aussehen
Komponenten, Anwendungsverwaltung, etc.
Utils Hilfe Drucken
Anwendung 2
![Page 8: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/8.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Fragen
Worum geht's bei der Datenprüfung?
Wer kann und soll Daten prüfen?
Wann kann ich prüfen?
Wie schreibe ich den Prüfcode?
Wo zeige ich Prüfergebnisse?
Wie markiere ich ungültige Eingaben?
Wie weise ich hin auf gültige Werte?
![Page 9: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/9.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
II - Grundlagen
Was brauche ich, um Daten zu prüfen?
![Page 10: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/10.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Aufbau
Jemand kann prüfen - Validator
Er liefert ein Ergebnis - ValidationResult
Das besteht aus ValidationMessages
Severity zeigt den Schweregrad an
ValidationResultModel meldet Änderungen
ValidationComponentUtils markiert Views
ValidationResultViewFactory liefert Views
![Page 11: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/11.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Prüfrahmenwerk
Validatorerzeugt
hält
ValidationResultModelView
ValidationResult
Severity
ValidationMessage
besteht aus
hat
beobachtet
![Page 12: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/12.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Entwurfsziele
Arbeitet mit Standard-Swing-Komponenten
Arbeitet mit eigenen Komponenten
Braucht keine speziellen Komponenten
Braucht keine speziellen Panels
Passt zu verschiedenen Datenbindestilen
Passt zu verschiedenen Prüfstilen
Ist erweiterbar
![Page 13: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/13.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Was bietet JGoodies Validation?
Implementiert den vorgestellten Ansatz
Ist allgemein gehalten
Braucht keine anderen Bibliotheken
Kann binär genutzt werden
Kann als Grundlage dienen für eigene Validierungslösungen
![Page 14: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/14.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
III – Wer?
Wer prüft wen?
![Page 15: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/15.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Client und Server
Zustand
Zustands-änderungen
Anzeigecode
Client
Server
![Page 16: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/16.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
PresentationModel
3-Schichten-Client-Architektur
Fachobjekt
Präsentation
Fachschicht
ValueModelModellschicht
Fachobjekt
Fachobjekt
SelectionInListAction
JTextField JButton JTable
![Page 17: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/17.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
BookModel
Fachobjekt prüft
aBook
Präsentation
Fachschicht
ValueModelModellschicht
ListModelAction
JTextField JButton JTable
Prüfcode
Validatorimplements
![Page 18: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/18.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
BookModel
Validator zu Fachobjekt
aBook
Präsentation
ValueModelModellschicht
ListModelAction
JTextField JButton JTable
BookValidator Validatorimplements
Ich favorisiere diesen Ansatz
![Page 19: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/19.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
BookModel
PresentationModel prüft
aBook
Präsentation
Fachschicht
ValueModel ListModelAction
JTextField JButton JTable
Prüfcode Validator
implements
![Page 20: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/20.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
BookModel
Validator zu Module
aBook
Präsentation
ValueModel ListModelAction
JTextField JButton JTable
BookModel-Validator
Validator
implements
![Page 21: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/21.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
BookPanel
BookModel
Präsentation prüft
aBook
Modellschicht
Fachschicht
ValueModel ListModelAction
JTextField JButton JTable
PrüfcodeValidator
implements
![Page 22: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/22.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
BookModel
View filtert ungültige Daten
aBook
Modellschicht
Fachschicht
ValueModel ListModelAction
JFormattedTextField JTable
Formatter
Präsentation
![Page 23: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/23.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
IV – Wann?
Wann prüfe ich? Wer löst das aus?
![Page 24: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/24.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Prüfzeitpunkte
Zeichen getippt (key typed)
Fokus gewechselt (Focus lost)
Eingabe übernehmen (OK/Apply)
Daten speichern/drucken/senden
Siehe Beispiele in der Validation Demo
![Page 25: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/25.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Beispielanwendung:
JGoodies Validation DemoAufgaben und Ansätze zur Datenprüfung
www.JGoodies.com/freeware/validationdemo
![Page 26: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/26.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface DesignWarnzeichen überlagern Komponenten
![Page 27: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/27.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
V – Wie anzeigen?
Wie kann ich Prüfergebnisse anzeigenund auf ungültige Eingaben hinweisen?
![Page 28: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/28.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Prüfergebnisanzeigen
Einzelnes Label mit Prüftext und Warn-Icon
TextArea für mehrere Prüfergebnistexte
JList/JTable für mehrere Ergebnisse
Überlagerter, halb-transparenter Text
Siehe Beispiele in der Validation Demo
![Page 29: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/29.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Ungültige Eingaben markieren
Textfeldhintergrund
Komponentenrahmen
Icon schwebt über Komponente
Transparenter Text schwebt neben Komp.
Siehe Beispiele in der Validation Demo
![Page 30: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/30.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
VI - Erfahrungsbericht
Wie funktioniert dieser Prüfstil im Alltag?
![Page 31: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/31.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Allgemeines
Jakarta Commons nutzen
Möglichst auf ungepufferten Werten prüfen
Eigene Validatoren schreiben, nicht die Fachobjekte oder Modelle prüfen lassen
In der Fachschicht prüfen (wenn's geht)
Meide Präsentationsprüfungen, aber nutze Filter (JFormattedTextField)
![Page 32: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/32.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Wo steht JGoodies Validation?
Architektur ist stabil seit Dezember 2003
Keine Fehler oder Probleme bekannt
Tutorial und Demo vorhanden
Wenige vordefinierte Prüfregeln
![Page 33: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/33.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Schluss
Zusammenfassung, Referenzen, Literatur
![Page 34: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/34.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Zusammenfassung
Wir haben Prüfaufgaben identifiziert und
gelernt, wer, wann, wie prüfen kann und wie
man Prüfergebnisse anzeigen kann.
![Page 35: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/35.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
JGoodies Swing Suite
JRE / Swing
Convenience-Quelltexte
Laufzeitumgebung
Grundbausteine
Anwendungsrahmen
Hilfsbausteine
Validation
Anwendungen
BindingForms
Beispiel 1
Looks
User Interface Framework (UIF)
Beispiel 2 Beispiel n
![Page 36: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/36.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Referenzen I
JGoodies Validation validation.dev.java.net
JGoodies-Artikel www.JGoodies.com/articles/
JGoodies-Demos www.JGoodies.com/freeware/
![Page 37: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/37.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Referenzen II
Oracle's JClient und ADF otn.oracle.com/, nach 'JClient' suchen
Spring Rich Client Project www.springframework.org/spring-rcp.html
JDNC (Java Desktop Network Components) jdnc.dev.java.net
![Page 38: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/38.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Fragen und Anworten
![Page 39: Swing: Daten prüfen - We make Java look good and work well](https://reader033.vdocuments.mx/reader033/viewer/2022053120/62924fed36fed452437a4f2f/html5/thumbnails/39.jpg)
:: JGOODIES :: :: JGOODIES :: Java User Interface DesignJava User Interface Design
Ende
Hoffentlich hilft‘s!
Viel Erfolg!
Karsten Lentzsch