RmiClient  1.0
 Alle Klassen Namensbereiche Dateien Funktionen Variablen
view.AbstractDialog Klassenreferenz
Klassendiagramm für view.AbstractDialog:
Zusammengehörigkeiten von view.AbstractDialog:

Öffentliche Methoden

 AbstractDialog (JFrame owner, Controller controller, String label, UserRole roleType)
 
void initialize (final String label, final Object projekt)
 
void update (Observable arg0, final Object arg1)
 

Geschützte Methoden

void initializeFieldsWithColors ()
 
void saveData ()
 
int getColumnLength (Class classType, String columnName)
 
void preSelection (Class classType)
 
void checkValidEmail (JTextField emailField)
 
void checkValidOnlyNumbers (JTextField matField)
 
void updateGUIData (Class listType, List< Object > listContent, boolean newMode, JComboBox comboBox, Object oldSelectedData, boolean specialCase)
 
void checkExistingRecord (Class classType, String checkingField, Object checkingClauseComponent)
 
void closeFormOnDeleteCascading (Class classType, List< Object > listContent)
 
void showErrors ()
 
void closeForm ()
 

Geschützte Attribute

JDialog activeDialog = null
 
boolean newMode = true
 
JPanel buttonPanel = null
 
ArrayList< JComponent > mandatoryComponentList = new ArrayList<JComponent>()
 
Object changeObject = null
 
List< Object > projekteListe = null
 
List< Object > unternehmenListe = null
 
List< Object > ansprechpartnerListe = null
 
List< Object > studentenListe = null
 
final Controller controller
 
final UserRole roleType
 
final int defaultInputFieldLength = 30
 
final int defaultVisibleFieldLength = 30
 
final int defaultTextAreaRows = 10
 
final int defaultTextAreaColumns = 30
 
final Color defaultColorField = null
 
final Color defaultColorMandatoryField = Color.orange
 
final Color defaultColorMissingMandatoryField = Color.red
 
final int defaultConfirmMnemonic = KeyEvent.VK_B
 
final int defaultCancelMnemonic = KeyEvent.VK_C
 
ArrayList< String > errorList = new ArrayList<String>()
 

Ausführliche Beschreibung

Basisklasse für JDialogs

Autor
Thomas Kramer, eMail: th-rz.nosp@m.v@gm.nosp@m.x.de

Definiert in Zeile 53 der Datei AbstractDialog.java.

Beschreibung der Konstruktoren und Destruktoren

view.AbstractDialog.AbstractDialog ( JFrame  owner,
Controller  controller,
String  label,
UserRole  roleType 
)

Konstruktor

Parameter
controllerController
labelBezeichnung

untere Buttonleiste, Übernehmen und Abbrechen

Default-Farben für Eingabefelder setzen

beim Drücken der Escape-Taste soll das aktuelle Fenster geschlossen werden

Definiert in Zeile 155 der Datei AbstractDialog.java.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Dokumentation der Elementfunktionen

void view.AbstractDialog.checkExistingRecord ( Class  classType,
String  checkingField,
Object  checkingClauseComponent 
)
protected

Überprüfen ob Datensatz bereits vorhanden ist

Parameter
classTypeKlasse
checkingFieldzu überprüfendes Feld
checkingClauseComponentText, für das zu überprüfende Feld

Im Ändern-Modus muss das eigene Projekt ausgeschlossen werden

Definiert in Zeile 525 der Datei AbstractDialog.java.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void view.AbstractDialog.checkValidEmail ( JTextField  emailField)
protected

Überprüfen der eingegebenen E-Mail-Adresse auf Gültigkeit

Parameter
emailFieldE-Mail-Eingabefeld

E-Mail-RegEx-Pattern, genommen von http://www.devx.com/tips/Tip/28334

Definiert in Zeile 314 der Datei AbstractDialog.java.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void view.AbstractDialog.checkValidOnlyNumbers ( JTextField  matField)
protected

Überprüfen der eingegebenen Matrikelnummer auf Gültigkeit

Parameter
matFieldMatrikelnummer-Eingabefeld

Nur-Ziffern-RegEx-Pattern, genommen von http://docs.oracle.com/javase /1.4.2/docs/api/java/util/regex/Pattern.html

Definiert in Zeile 337 der Datei AbstractDialog.java.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void view.AbstractDialog.closeForm ( )
protected

zentrale Schließen-Methode des Formulars

Formular schließen, vor dem Schließen auf Neu-Modus zurücksetzen

Definiert in Zeile 711 der Datei AbstractDialog.java.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void view.AbstractDialog.closeFormOnDeleteCascading ( Class  classType,
List< Object >  listContent 
)
protected

Methode um das aktive Formular, welches sich im Ändern-Modus befindet, automatisch zu schließen wenn ein referenziertes Objekt einer anderen Datenbank-Tabelle gelöscht wurde.

Stichpunkt "Kaskadierendes Löschen von Detaildatensätzen" - man kann die Datenbank so konfigurieren dass sie beim Löschen eines Datensatzes automatisch referenzierte Datensätze anderer Tabellen mitlöscht.

Es wird Reflection benutzt, da jede JPA-Entity eine getId-Methode besitzt

  • auf diese Weise wird vermieden dass diese Methode später händisch erweitert werden muss
Parameter
classTypeKlasse
listContentListe von Objekten

Definiert in Zeile 621 der Datei AbstractDialog.java.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

int view.AbstractDialog.getColumnLength ( Class  classType,
String  columnName 
)
protected

Auslesen der Feldlängen von Datenbank-Spalten aus den Entity-Klassen, die dazugehörigen Annotationen müssen händisch gesetzt werden

Parameter
classTypeKlasse
columnNameSpaltenname
Rückgabe
zulässige Anzahl Spalten zum Speichern

Definiert in Zeile 239 der Datei AbstractDialog.java.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void view.AbstractDialog.initialize ( final String  label,
final Object  projekt 
)

Methodensignaturen für abgeleitete Klassen zur Verfügung stellen, erspart einen expliziten Cast in der OpenDialog-Methode des MainFrames

Definiert in Zeile 283 der Datei AbstractDialog.java.

void view.AbstractDialog.initializeFieldsWithColors ( )
protected

Initialisieren der Eingabefelder mit den Default-Farben, sollte aus einem Thread heraus aufgerufen werden.

Definiert in Zeile 216 der Datei AbstractDialog.java.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void view.AbstractDialog.preSelection ( Class  classType)
protected

Vorselektion beim Öffnen eines Fensters - das Formular sollte dazu direkt die update-Methode überschreiben, um die Daten zu empfangen. Das Observer-Pattern funktioniert aus dem Konstruktor heraus nicht, daher muss die update-Methode hier direkt aufgerufen werden.

Parameter
classTypeKlasse

Definiert in Zeile 268 der Datei AbstractDialog.java.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void view.AbstractDialog.saveData ( )
protected

Übernehmen von neuen oder geänderten Datensätzen, Methodensignatur sollte in abgeleiteten Klassen überschrieben werden

Definiert in Zeile 226 der Datei AbstractDialog.java.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void view.AbstractDialog.showErrors ( )
protected

Zeige Fehlermeldungen an und leere Fehlerliste anschließend

Ein Löschen der Fehlerliste hier erspart ein separates Löschen

Definiert in Zeile 696 der Datei AbstractDialog.java.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void view.AbstractDialog.update ( Observable  arg0,
final Object  arg1 
)

Zurückliefern der Daten über das Observer-Pattern, sollte in den abgeleiteten Klassen überschrieben und tatsächlich implementiert werden

In der Default-Version wird zumindest das kaskadierende Löschen von Detaildatensätzen abgefangen

Definiert in Zeile 294 der Datei AbstractDialog.java.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void view.AbstractDialog.updateGUIData ( Class  listType,
List< Object >  listContent,
boolean  newMode,
JComboBox  comboBox,
Object  oldSelectedData,
boolean  specialCase 
)
protected

Updaten des Inhalts von Comboboxen und wiederherstellen der alten Auswahl

Parameter
listTypeKlassentyp der Objektliste vom zurückgelieferten Observer-Pattern
listContentObjektliste vom zurückgelieferten Observer-Pattern
newModeNeu- oder Ändern-Modus des Formulars
comboBoxJComboBox, die upgedatetet werden soll
oldSelectedDatazuvor selektiertes Objekt
specialCaseSonderfall für den 2. und 3. Studenten eines Projekts, diese sind optional und müssen als ersten Eintrag eine Leerzeile erhalten

während des Hinzufügen/Löschens von Einträgen aus der ComboBox soll nicht das ItemStateChanged-Event ausgelöst werden, daher wird die ComboBox auf inaktiv geschaltet.

Voraussetzungen: Jede ComboBox hat nur genau EINEN ItemListener, und dieser muss vom Typ CustomItemListener sein

zurücksetzen

Combobox füllen

a ist aus der neu ausgelesenen Liste, b aus der alten Liste

Combobox füllen mit Inhalt aus der neuen Liste

Ändern-Modus: Wenn IDs übereinstimmen vorherige Auswahl erneut setzen

setze Vorselektion

neue Selektion setzen

aktiviere wieder ItemListener

händisches Feuern des ItemChanged-Events sollte eigentlich reichen, ist aber leider zu unzuverlässig in Java.

Ausführung dessen, was mit der Vorselektion geschehen soll, muss daher händisch nach der Vorselektion geschehen

Daten in interne Listen übernehmen, sehr wichtig damit sie übereinstimmen mit den Comboboxen

Definiert in Zeile 374 der Datei AbstractDialog.java.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

Dokumentation der Datenelemente

JDialog view.AbstractDialog.activeDialog = null
protected

aktuelles Formular-Objekt

Definiert in Zeile 59 der Datei AbstractDialog.java.

List<Object> view.AbstractDialog.ansprechpartnerListe = null
protected

Definiert in Zeile 88 der Datei AbstractDialog.java.

JPanel view.AbstractDialog.buttonPanel = null
protected

Definiert in Zeile 71 der Datei AbstractDialog.java.

Object view.AbstractDialog.changeObject = null
protected

Objekt für Ändern-Modus

Definiert in Zeile 81 der Datei AbstractDialog.java.

final Controller view.AbstractDialog.controller
protected

Controller-Objekt

Definiert in Zeile 94 der Datei AbstractDialog.java.

final int view.AbstractDialog.defaultCancelMnemonic = KeyEvent.VK_C
protected

Default-Tastenkombination für Abbrechen-Button

Definiert in Zeile 140 der Datei AbstractDialog.java.

final Color view.AbstractDialog.defaultColorField = null
protected

Default-Farbe für normale Felder

Definiert in Zeile 120 der Datei AbstractDialog.java.

final Color view.AbstractDialog.defaultColorMandatoryField = Color.orange
protected

Default-Farbe für Pflichtfelder

Definiert in Zeile 125 der Datei AbstractDialog.java.

final Color view.AbstractDialog.defaultColorMissingMandatoryField = Color.red
protected

Default-Farbe für nichtausgefüllte Pflichtfelder

Definiert in Zeile 130 der Datei AbstractDialog.java.

final int view.AbstractDialog.defaultConfirmMnemonic = KeyEvent.VK_B
protected

Default-Tastenkombination für Übernehmen-Button

Definiert in Zeile 135 der Datei AbstractDialog.java.

final int view.AbstractDialog.defaultInputFieldLength = 30
protected

Default-Anzahl der möglichen Anzahl Zeichen in Textfeldern

Definiert in Zeile 100 der Datei AbstractDialog.java.

final int view.AbstractDialog.defaultTextAreaColumns = 30
protected

Default-Anzahl der Spalten in JTextArea-Feldern

Definiert in Zeile 115 der Datei AbstractDialog.java.

final int view.AbstractDialog.defaultTextAreaRows = 10
protected

Default-Anzahl der Zeilen in JTextArea-Feldern

Definiert in Zeile 110 der Datei AbstractDialog.java.

final int view.AbstractDialog.defaultVisibleFieldLength = 30
protected

Default-Anzahl der angezeigten Spalten in Textfeldern

Definiert in Zeile 105 der Datei AbstractDialog.java.

ArrayList<String> view.AbstractDialog.errorList = new ArrayList<String>()
protected

Fehlermeldungsliste

Definiert in Zeile 145 der Datei AbstractDialog.java.

ArrayList<JComponent> view.AbstractDialog.mandatoryComponentList = new ArrayList<JComponent>()
protected

Komponenten-List der Eingabefelder aus den abgeleiteten Klassen

Definiert in Zeile 76 der Datei AbstractDialog.java.

boolean view.AbstractDialog.newMode = true
protected

Neu- oder Ändernmodus des Formulars

Definiert in Zeile 64 der Datei AbstractDialog.java.

List<Object> view.AbstractDialog.projekteListe = null
protected

Daten-Listen

Definiert in Zeile 86 der Datei AbstractDialog.java.

final UserRole view.AbstractDialog.roleType
protected

Definiert in Zeile 95 der Datei AbstractDialog.java.

List<Object> view.AbstractDialog.studentenListe = null
protected

Definiert in Zeile 89 der Datei AbstractDialog.java.

List<Object> view.AbstractDialog.unternehmenListe = null
protected

Definiert in Zeile 87 der Datei AbstractDialog.java.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: