Letzte Sitzung haben wir uns mit dem Schichtenmodell und der Realisierung in Java (mittels Fensterklasse, Fachklasse) befasst.

Setzen Sie sich zuhause an Netbeans und vollziehen Sie das, was wir letztes Mal gemacht haben, nach - das heißt, Sie realisieren eine Applikation in Zweischicht-Architektur mit der folgend abgebildeten Klassenstruktur:

Die Fensterklasse (GUI = Graphical User Interface) hat zwei Textfelder, in die Zahlen eingegeben werden sollen, zwei Labels zur Beschreibung der Textfelder und ein Label zur Ausgabe der Ergebnisse, außerdem einen Button, um die Zahlen abzuschicken.

Beachten Sie, dass diesmal die Typumwandlung (Folien zur Typumwandlung als PDF) im Knopf erfolgt, da der Fachklasse int-Werte übergeben werden und ein int-Wert zurückgegeben wird. Falls Sie das irritiert, können Sie es auch anders machen (nämlich die Strings aus den Textfeldern an die Fachklasse übergeben und einen String zurückgeben; dann muss die Typumwandlung in der Fachklasse vorgenommen werden).

Vorgehen:

  1. Bauen Sie zuerst die Fensterklasse und benennen Sie alle Elemente korrekt (Variablennamen mit den Präfixen lbl für Label, btn für Button, txt für Textfeld).
  2. Setzen Sie einen Action-Listener auf den Knopf. Testen Sie, ob das funktioniert (indem Sie in der Action-Performed-Methode z.B. einen sout ausführen).
  3. Programmieren Sie die Fachklasse und die Methode (die nichts weiter tut, als die beiden im Parameter übergebenen int-Werte zu multiplizieren und zurückzugeben.
  4. In der Action-Performed-Methode …
    1. … holen Sie nun die beiden Strings aus den Textfeldern und wandeln Sie in Integers um (am einfachsten: Verwendung zweier lokaler Variablen zahl1AlsInt:int, zahl2AlsInt:int)
    2. … erzeugen Sie ein neues Objekt der RechnerFachklasse
    3. … erstellen Sie eine neue lokale Variable für das Ergebnis (z.B. ergebnisAlsInt:int)
    4. … weisen Sie den Rückgabewert der Methode multiplizieren(…):int dieser lokalen Variable zu.
    5. … wandeln Sie das Ergebnis in einen String um, am einfachsten auch wieder mit einer neuen lokalen Variable (z.B. ergebnisAlsString:String)
    6. … setzen Sie den Ergebniswert auf das Ausgabelabel.

Sie können das alles natürlich auch knapper machen, wie letztes Mal gezeigt. Achten Sie in jedem Fall darauf, dass der Code lesbar bleibt.

Sollten Sie Schwierigkeiten haben, notieren Sie sich bitte, bis zu welcher Stelle Sie gekommen sind.