Technische Universität München
Fakultät für Informatik Prof. Dr. Helmut Seidl
R. Höllerer


Praktikum des Übersetzerbaus WS 2003/04:

Generierung von Benutzungsoberflächen


Aufgabenblatt 3

12. November 2003

5. Aufgabe  (Aktionen im Addressbuch)

Ergänzen Sie das Addressbuchformular vom Aufgabenblatt 2 um Aktionen, mit denen man die in das Formular eingegebenen Daten in eine Datei speichern und aus einer Datei wieder einlesen kann.

Um diese Aktionen zu realisieren, ergänzen Sie die EMUGEN-Eingabe für das Formular um Aktionen. Die Syntax für Aktionen sieht folgendermaßen aus:

actions of Adressbuch {

token Oeffnen [] () -> {:
// hier ergänzen
return 0;
:} Ok;

// weitere Aktionen von Adressbuch

}
In den geschweiften Klammern stehen Java-Anweisungen. Für obige Oeffnen-Aktion generiert EMUGEN einen JButton Oeffnen und den sonstigen Code, um den JButton mit dem Aktionscode zu verbinden. Sehen sich die generierten Klassen: Adressbuch, AdressbuchPanel und AdressbuchOeffnenAction an.

Wenn der Oeffnen-Button geklickt wird, wird die Aktion ausgeführt.

Um die Speichern- und Oeffnen- Aktionen zu implementieren müssen Sie nur die von EMUGEN für Adressbuch (Startnonterminal der Grammatik) generierten Methoden:

public void writeToFile()
public void readFromFile()
aufrufen. Diese Methoden geben die Daten in eine XML-Datei aus bzw. lesen die Daten aus einer XML-Datei in die entsprechenden Formularfelder.

Diese Methoden verwenden wiederum die für alle Klassen des Datenmodells generierten Methoden:

public String toXML()
public void loadFromXML(org.w3c.dom.Element e)
Solche Ein/Ausgabeaktionen sollten Sie für alle Formulare, die Sie erstellen, vorsehen.

6. Aufgabe  (Aktionen für Grundstudiumsformular)

Ergänzen Sie Ihr Grundstudiumsformular aus Aufgabe 3 um Ein/Ausgabeaktionen und um eine Berechne-Aktion, in der die erreichte ECTS-Punktezahl berechnet wird und in dem Benutzer bekanntgemacht wird.

7. Aufgabe  (Aktionen für Hauptstudiumsformular)

Ergänzen Sie Ihr Hauptstudiumsformular aus Aufgabe 4 um eine Aktion PruefeECTS, die prüft ob die Anzahl der angegebenen ECTS ausreichend ist (d.h. >= 69).

Wichtige Hinweise:

Abgabe der Hausaufgaben:

Abgabetermin für die Hausaufgaben: Dienstag, 18. November 15:00