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 {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.
token Oeffnen [] () -> {:
// hier ergänzen
return 0;
:} Ok;
// weitere Aktionen von Adressbuch
}
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()aufrufen. Diese Methoden geben die Daten in eine XML-Datei aus bzw. lesen die Daten aus einer XML-Datei in die entsprechenden Formularfelder.
public void readFromFile()
Diese Methoden verwenden wiederum die für alle Klassen des Datenmodells generierten Methoden:
public String toXML()Solche Ein/Ausgabeaktionen sollten Sie für alle Formulare, die Sie erstellen, vorsehen.
public void loadFromXML(org.w3c.dom.Element e)
Studium ::= GrundVeranstaltungen: Grundstudium
GrundVeranstaltungen ::= Integer: gesamtECTS ...
Code in der Aktion:
...
int ects;
... // ects besetzen;
getGrundstudium().getGesamtECTS().setValue(ects);
System.out.println(getGrundstudium().getGesamtECTS().getValue());
emu_runtime.jarim aktuellen Verzeichnis,
VisualEmugen-static-20031112.jar (bzw. emugen.jar)
wird aus der Eingabe:
Adressbuch::=Personen
Personen::= Person*
Person::= String:Name
String:Vorname
String:Telefon
mit Hilfe der Kommandos:
java -jar VisualEmugen-static-20031112.jar -f -fo adressbuch.emu
(bzw. java -jar emugen.jar -f -fo adressbuch.emu)
javac -classpath .:emu_runtime.jar AdressbuchPanel.java
java -classpath .:emu_runtime.jar AdressbuchPanel
folgendes Formular erzeugt.