RmiClient
1.0
|
Ö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>() |
Basisklasse für JDialogs
Definiert in Zeile 53 der Datei AbstractDialog.java.
view.AbstractDialog.AbstractDialog | ( | JFrame | owner, |
Controller | controller, | ||
String | label, | ||
UserRole | roleType | ||
) |
Konstruktor
controller | Controller |
label | Bezeichnung |
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.
|
protected |
Überprüfen ob Datensatz bereits vorhanden ist
classType | Klasse |
checkingField | zu überprüfendes Feld |
checkingClauseComponent | Text, für das zu überprüfende Feld |
Im Ändern-Modus muss das eigene Projekt ausgeschlossen werden
Definiert in Zeile 525 der Datei AbstractDialog.java.
|
protected |
Überprüfen der eingegebenen E-Mail-Adresse auf Gültigkeit
emailField | E-Mail-Eingabefeld |
E-Mail-RegEx-Pattern, genommen von http://www.devx.com/tips/Tip/28334
Definiert in Zeile 314 der Datei AbstractDialog.java.
|
protected |
Überprüfen der eingegebenen Matrikelnummer auf Gültigkeit
matField | Matrikelnummer-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.
|
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.
|
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
classType | Klasse |
listContent | Liste von Objekten |
Definiert in Zeile 621 der Datei AbstractDialog.java.
|
protected |
Auslesen der Feldlängen von Datenbank-Spalten aus den Entity-Klassen, die dazugehörigen Annotationen müssen händisch gesetzt werden
classType | Klasse |
columnName | Spaltenname |
Definiert in Zeile 239 der Datei AbstractDialog.java.
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.
|
protected |
Initialisieren der Eingabefelder mit den Default-Farben, sollte aus einem Thread heraus aufgerufen werden.
Definiert in Zeile 216 der Datei AbstractDialog.java.
|
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.
classType | Klasse |
Definiert in Zeile 268 der Datei AbstractDialog.java.
|
protected |
Übernehmen von neuen oder geänderten Datensätzen, Methodensignatur sollte in abgeleiteten Klassen überschrieben werden
Definiert in Zeile 226 der Datei AbstractDialog.java.
|
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.
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.
|
protected |
Updaten des Inhalts von Comboboxen und wiederherstellen der alten Auswahl
listType | Klassentyp der Objektliste vom zurückgelieferten Observer-Pattern |
listContent | Objektliste vom zurückgelieferten Observer-Pattern |
newMode | Neu- oder Ändern-Modus des Formulars |
comboBox | JComboBox, die upgedatetet werden soll |
oldSelectedData | zuvor selektiertes Objekt |
specialCase | Sonderfall 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.
|
protected |
aktuelles Formular-Objekt
Definiert in Zeile 59 der Datei AbstractDialog.java.
|
protected |
Definiert in Zeile 88 der Datei AbstractDialog.java.
|
protected |
Definiert in Zeile 71 der Datei AbstractDialog.java.
|
protected |
Objekt für Ändern-Modus
Definiert in Zeile 81 der Datei AbstractDialog.java.
|
protected |
Controller-Objekt
Definiert in Zeile 94 der Datei AbstractDialog.java.
|
protected |
Default-Tastenkombination für Abbrechen-Button
Definiert in Zeile 140 der Datei AbstractDialog.java.
|
protected |
Default-Farbe für normale Felder
Definiert in Zeile 120 der Datei AbstractDialog.java.
|
protected |
Default-Farbe für Pflichtfelder
Definiert in Zeile 125 der Datei AbstractDialog.java.
|
protected |
Default-Farbe für nichtausgefüllte Pflichtfelder
Definiert in Zeile 130 der Datei AbstractDialog.java.
|
protected |
Default-Tastenkombination für Übernehmen-Button
Definiert in Zeile 135 der Datei AbstractDialog.java.
|
protected |
Default-Anzahl der möglichen Anzahl Zeichen in Textfeldern
Definiert in Zeile 100 der Datei AbstractDialog.java.
|
protected |
Default-Anzahl der Spalten in JTextArea-Feldern
Definiert in Zeile 115 der Datei AbstractDialog.java.
|
protected |
Default-Anzahl der Zeilen in JTextArea-Feldern
Definiert in Zeile 110 der Datei AbstractDialog.java.
|
protected |
Default-Anzahl der angezeigten Spalten in Textfeldern
Definiert in Zeile 105 der Datei AbstractDialog.java.
|
protected |
Fehlermeldungsliste
Definiert in Zeile 145 der Datei AbstractDialog.java.
|
protected |
Komponenten-List der Eingabefelder aus den abgeleiteten Klassen
Definiert in Zeile 76 der Datei AbstractDialog.java.
|
protected |
Neu- oder Ändernmodus des Formulars
Definiert in Zeile 64 der Datei AbstractDialog.java.
|
protected |
Daten-Listen
Definiert in Zeile 86 der Datei AbstractDialog.java.
|
protected |
Definiert in Zeile 95 der Datei AbstractDialog.java.
|
protected |
Definiert in Zeile 89 der Datei AbstractDialog.java.
|
protected |
Definiert in Zeile 87 der Datei AbstractDialog.java.