Inhalt

Einkaufsliste

Aufgabenstellung

Es soll ein Programm erstellt werden, mit dem man eine Einkaufsliste verwalten kann. Die einzelnen Produkte auf der Liste sollen in einer Datei gespeichert werden.

Während der Programmausführung sollen die einzelnen Produkte in Form einer einfach verketteten Liste abgebildet werden. Die Verwaltung der Produkte soll über eine grafische Benutzeroberfläche ermöglicht werden.

Beispielhafte einfache Implementierung

1. Abbilden der Einkaufsliste in einer verketteten Liste

Erstelle die Klassen List und Node und implementiere die notwendigen Methoden zur Verwaltung der Produkte:

Lege im main() eine Instanz der Klasse List an und teste die einzelnen Methoden ausführlich.

2. Speichern der Daten in einer Datei

Erweitere die Klasse List, so dass die Inhalte der verketteten Liste aus einer Datei gelesen und in eine Datei geschrieben werden können. In jeder Zeile der Datei steht ein Produkt der Einkaufsliste:

1;kg;Brot
4;Liter;Milch
20;dag;Edamer

Erstellen in der Klasse List einen Konstruktor public List (String file) und speichere den Dateinamen in einer Instanzvariable.

Implementiere folgende Methoden:

Wird das Programm gestartet, soll die Liste mittels loadFromFile () befüllt werden.

Wird das Programm beendet, soll die aktuelle Liste mittels saveToFile () in die Textdatei geschrieben werden, sodass die Änderungen beim neuerlichen Start der App berücksichtigt werden.

3. Erstellen einer grafische Benutzeroberfläche zur Verwaltung der Einkaufsliste

Erstelle eine Klasse View, mit der die Einträge in der verketteten List dargestellt und verändert werden können.

Erstelle einen Konstruktor public View(List data), wobei data eine Referenz auf die verkettete Liste beinhaltet.

public static void main(String[] args) {
    
    // Liste erzeugen und mit Daten befüllen
    List myList = new List( "list.txt");
    myList.loadFromFile();
    
    // JFrame und alle Controls erzeugen
    View myView = new View ( myList );
    myView.create();
}

Erstelle die grafische Oberfläche wie oben angegeben unter Verwendung des FlowLayout–Managers und rufe bei Klick auf die Buttons die entsprechenden Methoden der referenzierten verketteten Liste auf.

Erweiterungen

Erweitere die Einkaufsliste um zusätzliche Funktionalitäten:

Programmieren in Java - Projekte